예제 #1
0
        /// <summary>
        /// 开始接收队列中的消息
        /// </summary>
        public void StartReceive()
        {
            m_StopFlag       = false;
            m_ProcessMessage = false;
            do
            {
                try
                {
                    Message myMessage = m_MessageQueue.Receive(); //当消息队列空时,线程会挂起
                    m_ProcessMessage = true;

                    AuditBusiness log = (AuditBusiness)myMessage.Body;
                    if (log != null)
                    {
                        log.Insert();
                    }

                    m_ProcessMessage = false;
                }
                catch (Exception ex) {
                    XTrace.WriteLine("接收消息时发生异常:{0},服务将忽略此消息并继续运行!", ex.ToString());
                }
            } while (m_StopFlag == false);

            XTrace.WriteLine("服务已经停止接收消息!");
        }