Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
WebHostBuilder, IWebHoste WebHost foram marcados como obsoletos no .NET 10.
WebHostBuilder foi substituído por HostBuilder (host genérico) no ASP.NET Core 3.0 e WebApplicationBuilder introduzido no ASP.NET Core 6.0. Essas novas alternativas são onde os investimentos futuros ocorrerão.
Versão introduzida
.NET 10 RC 1
Comportamento anterior
Anteriormente, você podia usar WebHostBuilder para configurar e construir um host da Web sem quaisquer avisos em tempo de compilação.
Novo comportamento
A partir do .NET 10, o uso WebHostBuilder produz um aviso do compilador com ID ASPDEPR004de diagnóstico:
aviso ASPDEPR004: WebHostBuilder foi preterido em favor de HostBuilder e WebApplicationBuilder. Para mais informações, visite https://aka.ms/aspnet/deprecate/004.
Usando IWebHost ou WebHost produzindo um aviso do compilador com ID ASPDEPR008de diagnóstico :
aviso ASPDEPR008: WebHost está obsoleto. Use HostBuilder ou WebApplicationBuilder em vez disso. Para mais informações, visite https://aka.ms/aspnet/deprecate/008.
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade da fonte.
Motivo da mudança
HostBuilder e WebApplication têm todas as características WebHostBuilder e são o foco de investimentos futuros.
WebHostBuilder foi substituído pelo host genérico no ASP.NET Core 3.0, e APIs mínimas com WebApplicationBuilder foram introduzidas no ASP.NET Core 6.0. Esses modelos de hospedagem mais recentes fornecem uma melhor integração com o ecossistema .NET e são a abordagem recomendada para novos aplicativos.
Ação recomendada
Migrar de WebHostBuilder para um ou HostBuilderWebApplication:
Para aplicativos que precisam de recursos completos de hospedagem, migre para
HostBuilder:Before:
var hostBuilder = new WebHostBuilder() .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup() .UseKestrel(); // Test code might use TestServer: var testServer = new TestServer(hostBuilder);After:
using var host = new HostBuilder() .ConfigureWebHost(webHostBuilder => { webHostBuilder .UseTestServer() // If using TestServer. .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup() .UseKestrel(); }) .Build(); await host.StartAsync(); var testServer = host.GetTestServer();Para novos aplicativos, especialmente aqueles que usam APIs mínimas, migre para o WebApplicationBuilder.
APIs afetadas
- Microsoft.AspNetCore.Hosting.WebHostBuilder
- Microsoft.AspNetCore.Hosting.IWebHost
- Microsoft.AspNetCore.WebHost