在 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();