Dela via


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 MapConnectionHandlerIEndpointRouteBuilder.

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.

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.

Berörda API:er