我有一个Web应用和一个服务,它们位于同一台机器上,通过消息队列进行通信。我遇到的问题是,大约有一半的时间我从服务发送的消息没有到达web应用程序中的读取代码。有些人会到,有些人不会。消息之间至少有1秒的延迟。
我对MSMQ还不太熟悉,我想它是我错过的小东西,但从网上看,我想不出来。
public SomeMethod
{
...
MessageQueue respQ = Utils.GetResponseQueue();
respQ.Formatter = new XmlMessageFormatter(new Type[] { typeof(String) });
respQ.ReceiveCompleted += new ReceiveCompletedEventHandler(OnReceiveCompleted);
respQ.BeginReceive();
}
public void OnReceiveCompleted(Object source, ReceiveCompletedEventArgs asyncResult)
{
MessageQueue replyQueue = (MessageQueue)source;
Message replyMessage = replyQueue.EndReceive(asyncResult.AsyncResult);
try
{
}
catch (Exception)
{
}
replyQueue.BeginReceive();
}
希望对丢失的消息和管理控制台中未显示的消息提供帮助
摩西