/// <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("服务已经停止接收消息!"); }