Bagikan melalui


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.

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.

API yang Terpengaruh