如何在达到最大连接限制时更改 http.sys Web 服务器响应

How to change http.sys web server response when maxconnection limit reached

我们正在使用 http sys 网络服务器来托管网络 api 服务。业务需要限制最大并发连接数。用于此目的的 MaxConnections 配置 属性:

services.Configure<HttpSysOptions>(options =>
{
    options.MaxConnections = Configuration.GetValue<long?>("MaxConnections");
});

但是如果达到并发连接限制,所有新连接都会在套接字级别被丢弃。是否可以更改此行为以便服务器接受请求并 returns 4xx 或 5xx 响应客户端?

我终于找到了解决方案:有 Http503Verbosity property in options. By default it is set to Http503VerbosityLevel.Basic 但如果将其更改为 Http503VerbosityLevel .Limited 或 Http503VerbosityLevel.Full 超过限制的请求将返回 503 响应。所以我的代码现在看起来像这样:

        services.Configure<HttpSysOptions>(options =>
        {
            options.MaxConnections = Configuration.GetValue<long?>("MaxConnections");
            options.Http503Verbosity = Http503VerbosityLevel.Full;
        });