Korzystanie z Signalr (1.0.0-alpha2), chcę wiedzieć, czy możliwe jest dodanie funkcji klienta po uruchomieniu połączenia.Koncentratory Signalr (1.0.0-alpha2) - czy można dodać funkcje klienta po uruchomieniu połączenia?
Powiedz, że tworzę połączenie i łapię proxy. Następnie dodajemy do koncentratora niektóre funkcje klienta Server Fired, aby wykonać kilka czynności. Wtedy zaczynam połączenie. Następnie chcę dodać kilka funkcji Server Fired do mojego obiektu centralnego. czy to możliwe?
var myHub= $.connection.myHub;
myHub.SomeClientFunction = function() {
alert("serverside called 'Clients.SomeClientFunction()'");
};
$.connection.hub.start()
.done(function() {
myHub.SomeNewClientFunction = function() {
alert("serverside called 'Clients.SomeNewClientFunction()'");
}
})
Ten przykład nie jest realistyczny, ale ja po prostu chcesz wysłać moje zmiennej „myHub” do innego obiektu po piasta jest uruchamiany do subskrypcji nowych wydarzeń, że oryginalny kod nie obchodzi.
Przykład rzeczywisty: pulpit z wieloma różnymi zdarzeniami w centrum wydarzeń (nowe wizyty w witrynie, wiadomość na czacie, błąd witryny). Subskrybuję po nawiązaniu połączenia, a następnie przekazuję moje proxy pośredniczące do wszystkich moich różnych składników interfejsu użytkownika, aby obsłużyć ich określone "typy wiadomości". Czy powinienem utworzyć dla nich osobne huby, czy powinienem móc dodać więcej funkcji klienta Server Fired w locie?
Musisz mieć co najmniej jedną subskrypcję przed wywołaniem uruchomienia. – davidfowl
@ffowler jest to jedna subskrypcja na serwer lub w całości? Czy subskrypcja oznacza po prostu posiadanie funkcji do połączenia z serwerem? – Rangoric
Na koncentrator. Subskrypcja oznacza, że masz wywołanie zwrotne zdefiniowane po stronie klienta. – davidfowl