Aufruf von SignalR-Hub-Clients von einer anderen Stelle im System

Ich habe eine SignalR-hub zur Kommunikation zwischen server und client. Die hub-server-Seite code, der gespeichert ist in einer Klasse namens Einhaken.cs. Was ich will ist zu können, rufen Sie eine Methode definiert, die in Einhaken.cs, mir zu erlauben, broadcast-Nachrichten an alle verbundenen clients von überall in meiner Anwendung. Es scheint, dass eine neue Instanz Anschließen.cs ist erstellt für jeden client - /server-Aufruf, so dass ich gehofft hatte, dass ich in der Lage wäre, etwas zu verwenden, wie

var hooking = new Hooking();
hooking.Test();

mit der Methode Test (), definiert in Einhaken.cs wie

public static void Test() {
    Clients.test()
}

und mit einem der client-Seite javascript -

var hooking = $.connection.hooking;
hooking.test = function() { alert("test worked"); };
$.connection.hub.start()

Leider ist es nicht so einfach, da die Kunden ist nicht statisch, also nicht über eine statische Methode.

Blick durch die SignalR-Quellcodes stieß ich auf eine Methode, die sah vielversprechend aus, Hubs.Invoke(string hubName, string method, params object[] args), so würde ich, hoffe ich konnte etwas wie Hubs.Invoke("Hooking", "Test") aber ich kann nicht damit es funktioniert.

Jede Hilfe bei diesem würde sehr geschätzt

Kommentar zu dem Problem - Öffnen
Aber vielleicht können Sie mir helfen 😉 keine Ahnung, wie, um Ihre js-code in Ihre broadcast-Nachricht für alle anderen Kunden, und nicht der Ursprung Anrufer-wer hat die Nachricht? 🙂 Kommentarautor: GONeale
Leider weiß ich es nicht. Ich habe die Behandlung dieses client-Seite, das senden der client-id zurück, mit der Antwort, und einfach nicht die Funktion aufrufen, wenn die id ' s übereinstimmen Kommentarautor: Jordan Wallwork

InformationsquelleAutor der Frage Jordan Wallwork | 2011-10-03

Schreibe einen Kommentar