private void innerDispose() { int count = 0; while (_waitCallbacking) { System.Threading.Thread.Sleep(100); count++; if (count > waitTimeOut) { Closed = true; OnErrorMessage("等待服务回调超时,innerDispose退出。Send Message:" + _currSendMessage); break; } } try { if (_serviceProxy != null) { if (this._closedFlag != 0) //关闭标志==0 表示在注册订阅阶段发生的事件,指示未注册成功 { _serviceProxy.Unregist(); } if (_registed) { (_serviceProxy as IDisposable).Dispose(); } } } catch (Exception ex) { OnErrorMessage(string.Format("innerDispose Error {0}", ex.Message)); } finally { } _listener = null; _serviceProxy = null; }
/// <summary> /// 重新初始化监听器,并发起订阅 /// </summary> public void ReOpen() { _listener = new MessageListener(this); //Closed = true; Subscribe(this.UserName, this.Password); }
/// <summary> /// 重新初始化监听器,并发起订阅 /// </summary> public void ReOpen() { _listener = new MessageListener(this); //Closed = true; Subscribe(); }