Ich habe ein Problem mit SignalR JS Client Hub.Das On-Ereignis auf dem SignalR-Client-Hub wird nicht aufgerufen
Das Problem ist, dass der 'on' Handler scheint nicht zu funktionieren - es erzeugt keinen Fehler, aber keine Signale vom Server gesendet. Der folgende Code zeigt einen Auszug, wo ich den Server (mit dem Aufruf) anruft, was gut funktioniert - dann auf dem Server rufe ich acceptHubData zurück, die auf dem Client abgeholt werden sollte, aber nicht ist.
Mein Ziel ist beim Navigieren zu Seiten, dass jede Seite eine Verbindung zu einem bestimmten Hub öffnet und diese Verbindung freigibt, wenn der Benutzer auf eine andere Seite bewegt !!
EDIT: mit dem folgenden Code-Snippet funktioniert, aber ich frage mich, warum der Code weiter unten mit dem 'on' Ereignis nicht funktioniert!
Jede Hilfe wäre sehr willkommen!
Dieser der Client-Code (in js)
$(document).ready(function() {
var myHub;
try {
var connection = $.hubConnection();
connection.start().done(function() {
myHub = connection.createHubProxy("mySuperHub");
myHub.on('acceptHubData', function (data) {
alert(data); // THIS IS NOT CALLED!
});
myHub.invoke('AcceptSignal', "hello from the client2");
});
}
catch (e) {
alert(e.message);
}
});
Dies ist der Server-Code:
[HubName("mySuperHub")]
public class MyHub : Hub
{
private readonly HubEngine _hubEngine;
public MyHub() : this(HubEngine.Instance) { }
public MyHub(HubEngine hubEngine)
{
_hubEngine = hubEngine;
}
public void AcceptSignal(string msg)
{
Clients.Caller.acceptHubData("hi");
Clients.All.acceptHubData("hi");
}
}
Siehe http://stackoverflow.com/a/42527962/1770868 –