SignalR : les méthodes UseSignalR et UseConnections ont été supprimées
Dans ASP.NET Core 3.0, SignalR a adopté le routage des points de terminaison. Dans le cadre de ce changement, les méthodes UseSignalR, UseConnections et certaines méthodes associées ont été marquées comme obsolètes. Dans ASP.NET Core 5.0, ces méthodes obsolètes ont été supprimées. Pour obtenir la liste complète des méthodes, consultez API affectées.
Pour plus d’informations sur ce problème, consultez dotnet/aspnetcore#20082.
Version introduite
5.0 Préversion 3
Ancien comportement
Les hubs SignalR et les descripteurs de connexion peuvent être inscrits dans le pipeline de l’intergiciel à l’aide des méthodes UseSignalR
ou UseConnections
.
Nouveau comportement
Les hubs SignalR et les descripteurs de connexion doivent être inscrits dans UseEndpoints à l’aide des méthodes d’extension MapHub et MapConnectionHandler sur IEndpointRouteBuilder.
Raison du changement
Les anciennes méthodes avaient une logique de routage personnalisée qui n’interagissant pas avec d’autres composants de routage dans ASP.NET Core. Dans ASP.NET Core 3.0, un nouveau système de routage à usage général, appelé routage de point de terminaison, a été introduit. Le routage de point de terminaison a activé SignalR pour interagir avec d’autres composants de routage. Le passage à ce modèle permet aux utilisateurs de tirer pleinement parti du routage des points de terminaison. Par conséquent, les anciennes méthodes ont été supprimées.
Action recommandée
Supprimez le code qui appelle UseSignalR
ou UseConnections
de la méthode Startup.Configure
de votre projet. Remplacez-le par des appels à MapHub
ou MapConnectionHandler
, respectivement, dans le corps d’un appel à UseEndpoints
. Par exemple :
Ancien code :
app.UseSignalR(routes =>
{
routes.MapHub<SomeHub>("/path");
});
Nouveau code :
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<SomeHub>("/path");
});
En général, vos appels précédents MapHub
et MapConnectionHandler
peuvent être transférés directement du corps de UseSignalR
et UseConnections
vers UseEndpoints
avec peu ou pas de changements nécessaires.