Настройка параметров сервера Kestrel при запуске .NET 6
Я переношу WebApi с .net5 на .net6. Все идет неплохо, но возникла проблема с настройкой Kestrel во время запуска. Следующий код взят из метода Main файла Program.cs:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddVariousStuff();
builder.Host
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(serverOptions =>
{
serverOptions.Limits.MaxConcurrentConnections = 100;
serverOptions.Limits.MaxConcurrentUpgradedConnections = 100;
serverOptions.Limits.MaxRequestBodySize = 52428800;
});
});
var app = builder.Build();
app.UseStuffEtc();
app.Run();
При запуске приложения происходит сбой со следующим исключением:
System.NotSupportedException: ConfigureWebHost() не поддерживается WebApplicationBuilder.Host. Вместо этого используйте WebApplication, возвращаемый WebApplicationBuilder.Build ().
Если я удалю все, что связано с ConfigureWebHostDefaults, приложение не запустится без проблем. Я не могу понять, как работать с новой конфигурацией запуска сервера Kestrel .net6.
1 ответ
Примеры кода руководства по миграции охватывают это. Вы должны использовать
UseKestrel
на застройщике
WebHost
:
builder.WebHost.UseKestrel(so =>
{
so.Limits.MaxConcurrentConnections = 100;
so.Limits.MaxConcurrentUpgradedConnections = 100;
so.Limits.MaxRequestBodySize = 52428800;
});