Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
WebHostBuilder, IWebHost, dan WebHost telah ditandai sebagai usang di .NET 10.
WebHostBuilder digantikan oleh HostBuilder (host generik) di ASP.NET Core 3.0, dan WebApplicationBuilder diperkenalkan di ASP.NET Core 6.0. Alternatif yang lebih baru ini adalah di mana investasi di masa depan akan terjadi.
Versi yang diperkenalkan
.NET 10 RC 1
Perilaku sebelumnya
Sebelumnya, Anda dapat menggunakan WebHostBuilder untuk mengonfigurasi dan membangun host web tanpa peringatan waktu kompilasi.
Perilaku baru
Mulai dari .NET 10, menggunakan WebHostBuilder menghasilkan peringatan kompilator dengan ID ASPDEPR004diagnostik :
peringatan ASPDEPR004: WebHostBuilder tidak digunakan lagi demi HostBuilder dan WebApplicationBuilder. Untuk informasi selengkapnya, kunjungi https://aka.ms/aspnet/deprecate/004.
Menggunakan IWebHost atau WebHost menghasilkan peringatan kompilator dengan ID ASPDEPR008diagnostik :
peringatan ASPDEPR008: WebHost sudah usang. Gunakan HostBuilder atau WebApplicationBuilder sebagai gantinya. Untuk informasi selengkapnya, kunjungi https://aka.ms/aspnet/deprecate/008.
Jenis perubahan yang memutus kompatibilitas
Perubahan ini dapat memengaruhi kompatibilitas sumber.
Alasan perubahan
HostBuilder dan WebApplication memiliki semua fitur WebHostBuilder dan merupakan fokus investasi di masa depan.
WebHostBuilder digantikan oleh host generik di ASP.NET Core 3.0, dan API minimal dengan WebApplicationBuilder diperkenalkan di ASP.NET Core 6.0. Model hosting yang lebih baru ini memberikan integrasi yang lebih baik dengan ekosistem .NET dan merupakan pendekatan yang direkomendasikan untuk aplikasi baru.
Tindakan yang direkomendasikan
Migrasi dari WebHostBuilder ke atau HostBuilderWebApplication:
Untuk aplikasi yang membutuhkan kemampuan hosting lengkap, migrasikan ke
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();Untuk aplikasi baru, terutama yang menggunakan API minimal, migrasikan ke WebApplicationBuilder.
API yang terpengaruh
- Microsoft.AspNetCore.Hosting.WebHostBuilder
- Microsoft.AspNetCore.Hosting.IWebHost
- Microsoft.AspNetCore.WebHost