我正在將 WebApi 從 .net5 遷移到 .net6。進展相當順利,但遇到了如何在啟動期間配置 Kestrel 的問題。以下代碼來自 Program.cs 檔案的 Main 方法:
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:WebApplicationBuilder.Host 不支持 ConfigureWebHost()。改用 WebApplicationBuilder.Build() 回傳的 WebApplication。
如果我洗掉了與 ConfigureWebHostDefaults 相關的任何內容,則應用程式啟動沒有問題。我無法弄清楚如何使用新的 .net6 Kestrel 服務器啟動配置。
uj5u.com熱心網友回復:
遷移指南的代碼示例涵蓋了這一點。您應該UseKestrel在構建器上使用WebHost:
builder.WebHost.UseKestrel(so =>
{
so.Limits.MaxConcurrentConnections = 100;
so.Limits.MaxConcurrentUpgradedConnections = 100;
so.Limits.MaxRequestBodySize = 52428800;
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/354929.html
標籤:C# asp.net核心 kestrel-http-服务器 .net-6.0 asp.net-core-6.0
