Udostępnij za pośrednictwem


SignalR: metody UseSignalR i Use Połączenie ions usunięte

W ASP.NET Core 3.0 usługa SignalR przyjęła routing punktów końcowych. W ramach tej zmiany metody UseSignalR, UseConnectionsi niektóre powiązane metody zostały oznaczone jako przestarzałe. W ASP.NET Core 5.0 te przestarzałe metody zostały usunięte. Aby uzyskać pełną listę metod, zobacz Interfejsy API, których dotyczy problem.

Aby omówić ten problem, zobacz dotnet/aspnetcore#20082.

Wprowadzona wersja

5.0 (wersja zapoznawcza 3)

Stare zachowanie

Koncentratory SignalR i programy obsługi połączeń można zarejestrować w potoku oprogramowania pośredniczącego przy użyciu UseSignalR metod lub UseConnections .

Nowe zachowanie

Koncentratory SignalR i programy obsługi połączeń powinny być rejestrowane przy UseEndpoints użyciu MapHub metod i MapConnectionHandler w systemie IEndpointRouteBuilder.

Przyczyna wprowadzenia zmiany

Stare metody miały niestandardową logikę routingu, która nie wchodziła w interakcje z innymi składnikami routingu w ASP.NET Core. W ASP.NET Core 3.0 wprowadzono nowy system routingu ogólnego przeznaczenia, nazywany routingiem punktów końcowych. Routing punktu końcowego umożliwił usłudze SignalR interakcję z innymi składnikami routingu. Przejście do tego modelu umożliwia użytkownikom korzystanie z pełnych korzyści z routingu punktów końcowych. W związku z tym stare metody zostały usunięte.

Usuń kod wywołujący UseSignalR Startup.Configure lub UseConnections z metody projektu. Zastąp go wywołaniami metody MapHub lub MapConnectionHandler, odpowiednio w treści wywołania metody UseEndpoints. Na przykład:

Stary kod:

app.UseSignalR(routes =>
{
    routes.MapHub<SomeHub>("/path");
});

Nowy kod:

app.UseEndpoints(endpoints =>
{
    endpoints.MapHub<SomeHub>("/path");
});

Ogólnie rzecz biorąc, poprzednie MapHub i MapConnectionHandler połączenia można przenosić bezpośrednio z treści UseSignalR i UseConnections do UseEndpoints z mało do żadnej zmiany potrzebne.

Dotyczy interfejsów API