Можно ли установить значение "aspNetCore requestTimeout" (см. xml ниже) ......... через "код" с Kestrel?
Я не могу найти что-то в KestrelServerLimits object.
https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.core.kestrelserverlimits?view=aspnetcore-3.1
Ниже приведен код xml .......... но мы надеемся сделать это в CODE, а не через (опубликовано) xml.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore requestTimeout="00:20:00" processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
Я попробовал следующее ("serverOptions.Limits.KeepAliveTimeout = TimeSpan.FromSeconds (5);") ...... но это не не контролирует время ожидания сервера из моих тестов почтальона.
namespace MyStuff
{
using System;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.ConfigureKestrel(serverOptions =>
{
serverOptions.Limits.KeepAliveTimeout = TimeSpan.FromSeconds(5);
});
});
}
}
Я читал из этой статьи Microsoft:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1#kestrel -опции
Параметры Kestrel Веб-сервер Kestrel имеет параметры конфигурации ограничений, которые особенно полезны в развертываниях с Inte rnet.
Установка ограничений для свойства Limits класса KestrelServerOptions. Свойство Limits содержит экземпляр класса KestrelServerLimits.