Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
WebHostBuilder, IWebHosty WebHost se han marcado como obsoletos en .NET 10.
WebHostBuilder fue reemplazado por HostBuilder (host genérico) en ASP.NET Core 3.0 y WebApplicationBuilder se introdujo en ASP.NET Core 6.0. Estas alternativas más recientes son donde se producirán inversiones futuras.
Versión introducida
.NET 10 RC 1
Comportamiento anterior
Anteriormente, podría usar WebHostBuilder para configurar y compilar un host web sin advertencias en tiempo de compilación.
Nuevo comportamiento
A partir de .NET 10, el uso WebHostBuilder de genera una advertencia del compilador con el identificador ASPDEPR004de diagnóstico :
advertencia ASPDEPR004: WebHostBuilder está en desuso en favor de HostBuilder y WebApplicationBuilder. Para más información, visite https://aka.ms/aspnet/deprecate/004.
Usar IWebHost o WebHost genera una advertencia del compilador con el identificador ASPDEPR008de diagnóstico :
advertencia ASPDEPR008: WebHost está obsoleto. Use HostBuilder o WebApplicationBuilder en su lugar. Para más información, visite https://aka.ms/aspnet/deprecate/008.
Tipo de cambio disruptivo
Este cambio puede afectar a la compatibilidad de origen.
Motivo del cambio
HostBuilder y WebApplication tienen todas las características de WebHostBuilder y son el foco de la inversión futura.
WebHostBuilder se reemplazó por el host genérico en ASP.NET Core 3.0 y se introdujeron las API mínimas con WebApplicationBuilder en ASP.NET Core 6.0. Estos modelos de hospedaje más recientes proporcionan una mejor integración con el ecosistema de .NET y son el enfoque recomendado para las nuevas aplicaciones.
Acción recomendada
Migre de WebHostBuilder a o WebApplicationHostBuilder :
Para las aplicaciones que necesitan las funcionalidades de hospedaje completas, migre a
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();En el caso de las nuevas aplicaciones, especialmente las que usan API mínimas, migre a WebApplicationBuilder.
Las APIs afectadas
- Microsoft.AspNetCore.Hosting.WebHostBuilder
- Microsoft.AspNetCore.Hosting.IWebHost
- Microsoft.AspNetCore.WebHost