如何在达到最大连接限制时更改 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;
});
我们正在使用 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;
});