Die Verwendung von Hub-Methoden, die vom controller?

Ich bin mit SignalR 2, und ich kann nicht herausfinden, wie ich meine Hub-Methoden e.g innerhalb einer controller-action.

Ich weiß, ich kann Folgendes tun:

var hub = GlobalHost.ConnectionManager.GetHubContext<T>();
hub.Clients.All.clientSideMethod(param);

Aber das führt die Methode direkt auf der client-Seite.

Was, wenn ich business-Logik in meinem server-Seite ClientSideMethod(param) Methode, die ich nennen will von meinem controller die gleiche Weise, wie wenn es heißt von der client-Seite?

Im moment nutze ich public static void ClientSideMethod(param) in meinem hub und in dieser Methode, die ich verwenden die IHubContext von der ConnectionManager.

Ist es nicht besser war, dies zu tun?

Folgendes funktioniert nicht (mehr in SignalR 2?):

var hubManager = new DefaultHubManager(GlobalHost.DependencyResolver);
instance = hubManager.ResolveHub(typeof(T).Name) as T;
instance.ClientSideMethod(param);

Dort bekomme ich einen "Hub nicht erstellt, über den Hub-pipeline nicht unterstützt" exception beim Zugriff auf die Clients.

InformationsquelleAutor der Frage ChrFin | 2013-07-27

Schreibe einen Kommentar