Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
 /// <summary>
 /// 重新初始化监听器,并发起订阅
 /// </summary>
 public void ReOpen()
 {
     _listener = new MessageListener(this);
     //Closed = true;
     Subscribe(this.UserName, this.Password);
 }
Exemplo n.º 3
0
 /// <summary>
 /// 重新初始化监听器,并发起订阅
 /// </summary>
 public void ReOpen()
 {
     _listener = new MessageListener(this);
     //Closed = true;
     Subscribe();
 }