SignalR: Metode UseSignalR dan Use Koneksi ions dihapus
Dalam ASP.NET Core 3.0, SignalR mengadopsi perutean titik akhir. Sebagai bagian dari perubahan itu UseSignalR, , UseConnections, dan beberapa metode terkait ditandai sebagai usang. Dalam ASP.NET Core 5.0, metode usang tersebut dihapus. Untuk daftar lengkap metode, lihat API yang terpengaruh.
Untuk diskusi tentang masalah ini, lihat dotnet/aspnetcore#20082.
Versi yang diperkenalkan
5.0 Pratinjau 3
Perilaku yang lama
Hub SignalR dan handler koneksi dapat didaftarkan di alur middleware menggunakan UseSignalR
metode atau UseConnections
.
Perilaku yang baru
Hub SignalR dan handler koneksi harus didaftarkan dalam UseEndpoints menggunakan MapHub metode ekstensi dan MapConnectionHandler pada IEndpointRouteBuilder.
Alasan untuk berubah
Metode lama memiliki logika perutean kustom yang tidak berinteraksi dengan komponen perutean lain di ASP.NET Core. Dalam ASP.NET Core 3.0, sistem perutean tujuan umum baru, yang disebut perutean titik akhir, diperkenalkan. Perutean titik akhir mengaktifkan SignalR untuk berinteraksi dengan komponen perutean lainnya. Beralih ke model ini memungkinkan pengguna untuk mewujudkan manfaat penuh perutean titik akhir. Akibatnya, metode lama telah dihapus.
Tindakan yang direkomendasikan
Hapus kode yang memanggil UseSignalR
atau UseConnections
dari metode proyek Startup.Configure
Anda. Ganti dengan panggilan ke MapHub
atau MapConnectionHandler
, masing-masing, dalam isi panggilan ke UseEndpoints
. Misalnya:
Kode lama:
app.UseSignalR(routes =>
{
routes.MapHub<SomeHub>("/path");
});
Kode baru:
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<SomeHub>("/path");
});
Secara umum, panggilan Anda sebelumnya MapHub
dan MapConnectionHandler
dapat ditransfer langsung dari isi UseSignalR
dan UseConnections
ke UseEndpoints
dengan sedikit ke tidak ada perubahan yang diperlukan.