/// <summary> /// Closes the connection and shuts down the transport. /// </summary> public void Close() { if (this.State == ConnectionStates.Closed) { return; } this.State = ConnectionStates.Closed; //ReconnectStartedAt = null; ReconnectStarted = false; TransportConnectionStartedAt = null; if (Transport != null) { Transport.Abort(); Transport = null; } NegotiationResult = null; HTTPManager.Heartbeats.Unsubscribe(this); LastReceivedMessage = null; if (Hubs != null) { for (int i = 0; i < Hubs.Length; ++i) { (Hubs[i] as IHub).Close(); } } if (BufferedMessages != null) { BufferedMessages.Clear(); BufferedMessages = null; } if (OnClosed != null) { try { OnClosed(this); } catch (Exception ex) { HTTPManager.Logger.Exception("SignalR Connection", "OnClosed", ex); } } }
public override void Execute() { Transport.Abort(); base.Execute(); }