Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
WebHostBuilder, IWebHostoch WebHost har markerats som föråldrade i .NET 10.
WebHostBuilder ersattes av HostBuilder (generisk värd) i ASP.NET Core 3.0 och WebApplicationBuilder introducerades i ASP.NET Core 6.0. Dessa nyare alternativ är där framtida investeringar kommer att ske.
Version lanserad
.NET 10 RC 1
Tidigare beteende
Tidigare kunde du använda WebHostBuilder för att konfigurera och skapa en webbvärd utan kompileringstidsvarningar.
Nytt beteende
Från och med WebHostBuilder .NET 10 skapas en kompilatorvarning med diagnostik-ID ASPDEPR004:
varning ASPDEPR004: WebHostBuilder är inaktuell till förmån för HostBuilder och WebApplicationBuilder. Mer information finns på https://aka.ms/aspnet/deprecate/004.
Använda IWebHost eller WebHost skapa en kompilatorvarning med diagnostik-ID ASPDEPR008:
varning ASPDEPR008: WebHost är föråldrat. Använd HostBuilder eller WebApplicationBuilder i stället. Mer information finns på https://aka.ms/aspnet/deprecate/008.
Typ av brytande ändring
Den här ändringen kan påverka källkompatibiliteten.
Orsak till ändring
HostBuilder och WebApplication har alla funktioner WebHostBuilder i och är i fokus för framtida investeringar.
WebHostBuilder ersattes av den generiska värden i ASP.NET Core 3.0 och minimala API:er med WebApplicationBuilder introducerades i ASP.NET Core 6.0. Dessa nyare värdmodeller ger bättre integrering med .NET-ekosystemet och är den rekommenderade metoden för nya program.
Rekommenderad åtgärd
Migrera från WebHostBuilder till antingen HostBuilder eller WebApplication:
För program som behöver de fullständiga värdfunktionerna migrerar du till
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();För nya program, särskilt de som använder minimala API:er, migrerar du till WebApplicationBuilder.
Berörda API:er
- Microsoft.AspNetCore.Hosting.WebHostBuilder
- Microsoft.AspNetCore.Hosting.IWebHost
- Microsoft.AspNetCore.WebHost