SignalR: методы UseSignalR и Use Подключение ions удалены
В ASP.NET Core 3.0, SignalR приняла построение маршрутов конечных точек. В рамках этого изменения UseSignalR, UseConnections, а также некоторые связанные методы были помечены как устаревшие. В ASP.NET Core 5.0 эти устаревшие методы удалены. Полный список методов см. в разделе Затронутые API.
Обсуждение этого вопроса см. на странице dotnet/aspnetcore#20082.
Представленные версии
5.0 Предварительная версия 3
Старое поведение
Концентраторы SignalR и обработчики соединений можно зарегистрировать в конвейере ПО промежуточного слоя с помощью методов UseSignalR
или UseConnections
.
Новое поведение
Концентраторы SignalR и обработчики соединений следует зарегистрировать в UseEndpoints с помощью методов расширения MapHub и MapConnectionHandler в IEndpointRouteBuilder.
Причина изменения
Старые методы имели пользовательскую логику построения маршрутов, которая не взаимодействовала с другими компонентами построения маршрутов в ASP.NET Core. В ASP.NET Core 3.0 появилась новая система построения маршрутов общего назначения, называемая построением маршрутов конечных точек. Служба SignalR включила построение маршрутов конечных точек для взаимодействия с другими компонентами построения маршрутов. Переключение на эту модель позволяет пользователям реализовать все преимущества построения маршрутов конечных точек. Следовательно, старые методы были удалены.
Рекомендуемое действие
Удалите код, который вызывает UseSignalR
или UseConnections
из метода Startup.Configure
проекта. Замените его вызовами MapHub
или MapConnectionHandler
соответственно, в теле вызова UseEndpoints
. Например:
Старый код:
app.UseSignalR(routes =>
{
routes.MapHub<SomeHub>("/path");
});
Новый код:
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<SomeHub>("/path");
});
В целом, предыдущие вызовы MapHub
и MapConnectionHandler
можно передать непосредственно из тела UseSignalR
и UseConnections
в UseEndpoints
с минимальными изменениями.