SignalR: Metoderna UseSignalR och Use Anslut ions har tagits bort
I ASP.NET Core 3.0 antog SignalR slutpunktsroutning. Som en del av den ändringen UseSignalRhar metoderna , UseConnectionsoch vissa relaterade metoder markerats som föråldrade. I ASP.NET Core 5.0 togs dessa föråldrade metoder bort. En fullständig lista över metoder finns i Berörda API:er.
Information om det här problemet finns i dotnet/aspnetcore#20082.
Version introducerad
5.0 Förhandsversion 3
Gammalt beteende
SignalR-hubbar och anslutningshanterare kan registreras i pipelinen för mellanprogram med hjälp av UseSignalR
metoderna eller UseConnections
.
Nytt beteende
SignalR-hubbar och anslutningshanterare bör registreras inom UseEndpoints med hjälp av tilläggsmetoderna MapHub och MapConnectionHandler på IEndpointRouteBuilder.
Orsak till ändringen
De gamla metoderna hade anpassad routningslogik som inte interagerade med andra routningskomponenter i ASP.NET Core. I ASP.NET Core 3.0 introducerades ett nytt generellt routningssystem, kallat slutpunktsroutning. Slutpunktsroutning aktiverade SignalR för att interagera med andra routningskomponenter. Om du byter till den här modellen kan användarna dra nytta av de fullständiga fördelarna med slutpunktsroutning. Därför har de gamla metoderna tagits bort.
Rekommenderad åtgärd
Ta bort kod som anropar UseSignalR
eller UseConnections
från projektets Startup.Configure
metod. Ersätt den med anrop till MapHub
respektive MapConnectionHandler
, inom brödtexten för ett anrop till UseEndpoints
. Till exempel:
Gammal kod:
app.UseSignalR(routes =>
{
routes.MapHub<SomeHub>("/path");
});
Ny kod:
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<SomeHub>("/path");
});
I allmänhet kan dina tidigare MapHub
samtal och MapConnectionHandler
anrop överföras direkt från brödtexten UseSignalR
i och UseConnections
till UseEndpoints
med liten eller ingen ändring som behövs.