Śledziłem dokumentację SignalR na Githubie, żeby wysłać wiadomość do grupy. Połączyłem się dobrze z:
Groups.Add(Context.ConnectionId, "foo");
Ale kiedy próbuję wysłać wiadomość do wszystkich użytkowników w tej grupie, używając:
Clients.Group("foo").syncShortList(id);
Dostaję wyjątek Wiem, że nie ma nic złego w „id”. Kod nigdy nie będzie kontynuowany po tej linii, więc ustawiłem debugger, aby przechwytywał wszystkie zgłoszone wyjątki i dowiedziałem się, że druga linia zgłasza wyjątek:
"Microsoft.AspNet.SignalR.Hubs.GroupProxy" does not contain a definition for "syncShortList"
Wiem na pewno, że słucham wydarzenia w javascript:
funnelHub.client.syncShortList = function (id) {
console.log("syncing");
console.log(id);
}
Wydarzenie nigdy nie zostaje zwolnione. Czy ktoś widzi, gdzie popełniam błąd? Używam SignalR 1.0.1
Odpowiedzi:
3 dla odpowiedzi № 1Jak omówiono w https://jabbr.net/#/rooms/signalr błąd to wyjątek First Rance Runtime Binder, który występuje przy pierwszym wywołaniu na obiekcie dynamicznym grupy. W końcu jest nieszkodliwy.