2016-10-12 2 views
1

Ich habe Hub-Klasse mit einigen Methoden, die vom Client ohne Probleme aufgerufen werden. Aber was tun, wenn ich Methode der Klasse aufrufen wollen in Hub Eigenschaft, zum Beispiel:Aufruf Methode der Klasse in Hub mit SignalR

Class MyHub 
    Inherits Hub 
    Sub HubMethod() 
    End Sub 
    Property SC As New SimpleClass 
End Class 

Class SimpleClass 
    Sub DoNothing() 
    End Sub 
End Class 

ich so etwas wie myHubInstance.Invoke("SC.DoNothing") tun wollen. Ist es überhaupt möglich?

Antwort

2

Sie können das nicht tun. Der SignalR-Server erkennt Hubs mit Reflection, indem er prüft, ob ein Typ von IHub abgeleitet ist.

+0

Also nur Möglichkeit, Methoden mit dem gleichen Namen in Hub und Aufruf Methoden der privaten Instanz von SimpleClass in Hub in diesen Methoden? –

+0

Sie können auch einen neuen Hub erstellen und ihn direkt aufrufen. Beachten Sie auch, dass Hub-Instanzen flüchtig sind, d. H. Sie werden jedes Mal erstellt, wenn eine Methode aufgerufen wird. – Pawel

+0

Das Problem ist, dass ich Daten-Repository habe und diese Klasse über 20 Methoden haben. Ich bin gezwungen, alles manuell aus dem Repository zu kopieren und dies in den Methoden des Hubs aufzurufen. –

Verwandte Themen