/// <summary>主動連接</summary> public virtual void Connect(List <string> groupNames = null) { if (string.IsNullOrWhiteSpace(HostUrl)) { INI ini = new INI(); HostUrl = ini.Read("SignalR", "ServerURL"); if (string.IsNullOrWhiteSpace(HostUrl)) { throw new Exception("SignalR 伺服器 IP 位置未正確設置,請檢查 POSProfile.INI 下 [SignalR] 中 ServerURL=... 的設定。"); } } RestoreFromXML(); // 先從 XML 讀回擱置的命令 SetConnection(groupNames); // 連接失敗時,30秒後重試連接 HubConn.Start().ContinueWith(t => { if (t.IsFaulted) { Thread.Sleep(TimeSpan.FromSeconds(30)); Connect(); } }); }
/// <summary>主動斷線</summary> public virtual void SelfDisconnect() { HubConn.Stop(); }