asp.net веб-api 2: Как настроить различные настройки Http-сервера для различных параметров, таких как «Время ожидания», «Размер строки запроса» и т. Д

#c# #asp.net-web-api2 #owin #asp.net-core-3.1 #kestral

Вопрос:

У меня есть ASP.NET Приложение Web API 2 с запущено с OWIN как самостоятельное (без IIS).

Как настроить различные настройки Http-сервера для различных параметров, таких как Keep-alive timeout , Request line size Number of request header fields , и т.д. ? Кроме того, каков предел по умолчанию для каждого, если НЕ переопределять с помощью кода?

Для ASP.NET Ядро с сервером Kestrel, у меня есть опция ниже, где я могу переопределить настройки Http-сервера, такие как KeepAliveTimeout , RequestHeadersTimeout . Также существует значение по умолчанию для каждой настройки,

https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.core.kestrelserverlimits?view=aspnetcore-5.0#properties

 .ConfigureKestrel((context, options) =>
{
     options.Limits.MaxConcurrentConnections = 100;
     options.Limits.MaxConcurrentUpgradedConnections = 100;
     options.Limits.MaxRequestBodySize = 10 * 1024;
     options.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(2);
     options.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(1);
});