在 ASP.Net Core 2.2 的 Kestrel Web 服务器中禁用 Nagle 算法
Disabling Nagle algorithm in Kestrel Web Server of ASP.Net Core 2.2
KestrelServerOptions.NoDelay 在 .NET Core 2.2 中不再可用。
请问如何在 ASP.Net Core 2.2 的 Kestrel Web 服务器中禁用 Nagle 算法?
现在可以在 ListenOptions.NoDelay
上禁用 Nagle 的算法
这是相同的代码片段
.ConfigureKestrel((context, options) =>
{
options.Limits.MaxConcurrentConnections = 100;
options.Listen(IPAddress.Loopback, 5000, (listenOptions =>
{
listenOptions.NoDelay = false;
}));
});
listenOptions.NoDelay = 假;手段启用Nagle算法。
设置为 false 以对所有连接启用 Nagle 算法。
默认为真。
我无法 post 发表评论,但我想分享这个,因为在查看 ListenOptions.cs here 的提交历史之前我找不到答案。对于 .Net Core 3.0/3.1,"NoDelay" 已移至 SocketTransportOptions。
示例:
var builder = new WebHostBuilder().UseKestrel(kestrelServerOptions => {...}).UseSockets(socketTransportOptions => { socketTransportOptions.NoDelay = false; }).Build();
KestrelServerOptions.NoDelay 在 .NET Core 2.2 中不再可用。
请问如何在 ASP.Net Core 2.2 的 Kestrel Web 服务器中禁用 Nagle 算法?
现在可以在 ListenOptions.NoDelay
上禁用 Nagle 的算法这是相同的代码片段
.ConfigureKestrel((context, options) =>
{
options.Limits.MaxConcurrentConnections = 100;
options.Listen(IPAddress.Loopback, 5000, (listenOptions =>
{
listenOptions.NoDelay = false;
}));
});
listenOptions.NoDelay = 假;手段启用Nagle算法。 设置为 false 以对所有连接启用 Nagle 算法。 默认为真。
我无法 post 发表评论,但我想分享这个,因为在查看 ListenOptions.cs here 的提交历史之前我找不到答案。对于 .Net Core 3.0/3.1,"NoDelay" 已移至 SocketTransportOptions。
示例:
var builder = new WebHostBuilder().UseKestrel(kestrelServerOptions => {...}).UseSockets(socketTransportOptions => { socketTransportOptions.NoDelay = false; }).Build();