Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
WebHostBuilder, IWebHosta WebHost byly označeny jako zastaralé v .NET 10.
WebHostBuilder
HostBuilder nahradil (obecný hostitel) v ASP.NET Core 3.0 a WebApplicationBuilder byl zaveden v ASP.NET Core 6.0. Tyto novější alternativy jsou tam, kde se budou objevovat budoucí investice.
Verze byla představena
.NET 10 RC 1
Předchozí chování
Dříve jste mohli použít WebHostBuilder ke konfiguraci a sestavení webového hostitele bez upozornění v době kompilace.
Nové chování
Počínaje rozhraním .NET 10 vytvoří použití WebHostBuilder upozornění kompilátoru s ID ASPDEPR004diagnostiky:
upozornění ASPDEPR004: WebHostBuilder je zastaralý ve prospěch HostBuilder a WebApplicationBuilder. Další informace naleznete na adrese https://aka.ms/aspnet/deprecate/004.
Použití IWebHost nebo WebHost vytvoření upozornění kompilátoru s ID ASPDEPR008diagnostiky:
upozornění ASPDEPR008: WebHost je zastaralý. Místo toho použijte HostBuilder nebo WebApplicationBuilder. Další informace naleznete na adrese https://aka.ms/aspnet/deprecate/008.
Typ zásadní změny
Tato změna může mít vliv na kompatibilitu zdroje.
Důvod změny
HostBuilder a WebApplication mají všechny funkce WebHostBuilder a jsou zaměřeny na budoucí investice.
WebHostBuilder nahradil obecný hostitel v ASP.NET Core 3.0 a v ASP.NET Core 6.0 byla zavedena minimální rozhraní API WebApplicationBuilder . Tyto novější modely hostování poskytují lepší integraci s ekosystémem .NET a jsou doporučeným přístupem pro nové aplikace.
Doporučená akce
Migrace z WebHostBuilder některého z těchto:HostBuilderWebApplication
Pro aplikace, které potřebují úplné možnosti hostování, migrujte na
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();Pro nové aplikace, zejména pro ty, kteří používají minimální rozhraní API, migrujte na WebApplicationBuilder.
Ovlivněná rozhraní API
- Microsoft.AspNetCore.Hosting.WebHostBuilder
- Microsoft.AspNetCore.Hosting.IWebHost
- Microsoft.AspNetCore.WebHost