Ejemplo n.º 1
0
        /// <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();
                }
            });
        }
Ejemplo n.º 2
0
 /// <summary>主動斷線</summary>
 public virtual void SelfDisconnect()
 {
     HubConn.Stop();
 }