IHubClients et IHubCallerClients masquent les membres
Pour ajouter la prise en charge des résultats du client, IHubClients et IHubCallerClients masquent dorénavant les membres de l’interface IClientProxy Client(string connectionId);
et IClientProxy Caller { get; }
avec ISingleClientProxy Client(string connectionId);
et ISingleClientProxy Caller { get; }
.
Il ne s’agit pas d’un changement cassant apporté au code de production, sauf si vous utilisez la réflexion pour appeler les méthodes Client
ou Caller
affectées. Vous devrez peut-être mettre à jour les hubs SignalR de test unitaire.
Version introduite
ASP.NET Core 7.0
Comportement précédent
Lorsque vous utilisez une bibliothèque de test comme Moq pour tester un SignalR Hub, vous pouvez écrire du code semblable à ce qui suit :
var hub = new MyHub();
var mockCaller = new Mock<IHubCallerClients>();
var mockClientProxy = new Mock<IClientProxy>();
mockCaller.Setup(x => x.Caller).Returns(mockClientProxy.Object);
hub.Clients = mockCaller.Object;
class MyHub : Hub { }
Nouveau comportement
var hub = new MyHub();
var mockCaller = new Mock<IHubCallerClients>();
var mockClientProxy = new Mock<ISingleClientProxy>(); // <-- updated code
mockCaller.Setup(x => x.Caller).Returns(mockClientProxy.Object);
hub.Clients = mockCaller.Object;
class MyHub : Hub { }
Type de changement cassant
Ce changement affecte la compatibilité de la source.
Raison du changement
La modification a été apportée pour ajouter de nouvelles fonctionnalités à SignalR. Il n’est pas cassant dans les cas d’usage normaux, mais il peut casser le code de test, qui est facilement mis à jour.
Action recommandée
Mettez à jour le code de test pour utiliser l’interface ISingleClientProxy
lors de l’utilisation la réflexion ou du code basé sur la réflexion.
API affectées
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour