У меня есть злонамеренная проблема с остановкой соединения в клиенте SignalR.Клиент SignalR HubConnection Stop
Здесь мы идем с моим кодом.
я начинаю связь с простым методом
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;
}
тогда, когда клиент выполняет действие, чтобы закрыть соединение
public void Stop()
{
_hubConnection.Stop();
_hubConnection.Dispose();
}
у слушателя событий заметил состояние соединения изменилось и вызывается действие
private void HubConnectionOnStateChanged(StateChange stateChange)
{
if (stateChange.NewState == ConnectionState.Connected)
{
if (ConnectionEvent != null)
ConnectionEvent.Invoke(true);
}
else
{
if (ConnectionEvent != null)
ConnectionEvent.Invoke(false);
}
}
все работает нормально, а клиент отключен, но когда широковещательный сервер SignalR сообщение asts как-то _hubProxy автоматически соединяется с сервером и получает ответ.