【发布时间】:2018-08-28 10:11:42
【问题描述】:
我是第一次同时使用 Windows 服务和 MSMQ。我正在尝试从队列中读取消息。当我启动 Windows 服务时,我只收到第一条消息,下一条消息无法读取,服务仍在运行。如果我重新启动服务它正在从队列中读取第一条消息。请告诉我如何解决此问题。
这是我的服务开始时的代码:
protected override void OnStart(string[] args)
{
MessageQueue msMq = null;
JobModel j = new JobModel();
msMq = new MessageQueue(queueRequestName);
try
{
if (msMq != null)
{
msMq.Formatter = new XmlMessageFormatter(new Type[] { typeof(JobModel) });
var message = (JobModel)msMq.BeginReceive();
}
}
catch (MessageQueueException ee)
{
Console.Write(ee.ToString());
}
catch (Exception eee)
{
Console.Write(eee.ToString());
}
finally
{
msMq.Close();
}
}
【问题讨论】:
标签: c# windows-services msmq