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 с минимальными изменениями.

Затронутые API