Ich habe ein bösartiges Problem mit dem Beenden der Verbindung im SignalR-Client.SignalR Client HubConnection Stop
Hier gehen wir mit meinem Code.
Ich fange Verbindung mit einer einfachen Methode
private void Initialize()
{
var hermesHubAddress = ConfigurationManager.AppSettings["HermesUrl"];
_hubConnection = new HubConnection(hermesHubAddress)
{
Credentials = CredentialCache.DefaultCredentials
};
_hubProxy = _hubConnection.CreateHubProxy("HermesHub");
_hubProxy.On<Notification>("Notify", Recieve_Message);
_hubConnection.Start().Wait();
_hubConnection.Error += HubConnectionOnError;
_hubConnection.StateChanged += HubConnectionOnStateChanged;
}
dann, wenn der Client eine Aktion ausführt Verbindung
public void Stop()
{
_hubConnection.Stop();
_hubConnection.Dispose();
}
Ereignis listner bemerkt Verbindungszustand geändert und aufgerufen Aktion
private void HubConnectionOnStateChanged(StateChange stateChange)
{
if (stateChange.NewState == ConnectionState.Connected)
{
if (ConnectionEvent != null)
ConnectionEvent.Invoke(true);
}
else
{
if (ConnectionEvent != null)
ConnectionEvent.Invoke(false);
}
}
alles schließen funktioniert gut und Client ist getrennt, aber wenn SignalR Server Broadc ast message irgendwie _hubProxy autoreconnect zum Server und bekommt Antwort.