Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
WebHostBuilder, IWebHostet WebHost ont été marqués comme obsolètes dans .NET 10.
WebHostBuilder a été remplacé par HostBuilder (hôte générique) dans ASP.NET Core 3.0 et WebApplicationBuilder a été introduit dans ASP.NET Core 6.0. Ces solutions de rechange plus récentes sont là où des investissements futurs se produisent.
Version introduite
.NET 10 RC 1
Comportement précédent
Auparavant, vous pouvez utiliser WebHostBuilder pour configurer et générer un hôte web sans avertissements au moment de la compilation.
Nouveau comportement
À compter de .NET 10, l’utilisation WebHostBuilder génère un avertissement du compilateur avec l’ID ASPDEPR004de diagnostic :
avertissement ASPDEPR004 : WebHostBuilder est déconseillé en faveur de HostBuilder et WebApplicationBuilder. Pour plus d’informations, consultez https://aka.ms/aspnet/deprecate/004.
L’utilisation IWebHost ou WebHost la production d’un avertissement du compilateur avec l’ID ASPDEPR008de diagnostic :
avertissement ASPDEPR008 : WebHost est obsolète. Utilisez à la place HostBuilder ou WebApplicationBuilder. Pour plus d’informations, consultez https://aka.ms/aspnet/deprecate/008.
Type de changement cassant
Cette modification peut affecter la compatibilité de la source.
Raison de la modification
HostBuilder et WebApplication ont toutes les caractéristiques de WebHostBuilder l’investissement futur et sont l’objectif de l’investissement futur.
WebHostBuilder a été remplacé par l’hôte générique dans ASP.NET Core 3.0, et les API minimales avec WebApplicationBuilder qui ont été introduites dans ASP.NET Core 6.0. Ces modèles d’hébergement plus récents offrent une meilleure intégration à l’écosystème .NET et sont l’approche recommandée pour les nouvelles applications.
Action recommandée
Effectuez une migration vers WebHostBuilder l’une ou l’autre HostBuilder des opérations suivantes WebApplication:
Pour les applications qui ont besoin des fonctionnalités d’hébergement complètes, migrez vers
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();Pour les nouvelles applications, en particulier celles qui utilisent des API minimales, migrez vers WebApplicationBuilder.
API affectées
- Microsoft.AspNetCore.Hosting.WebHostBuilder
- Microsoft.AspNetCore.Hosting.IWebHost
- Microsoft.AspNetCore.WebHost