Настройка параметров сервера 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;
});
Другие вопросы по тегам