У меня есть веб-приложение и служба, расположенные на одной машине и взаимодействующие через очереди сообщений.Проблема, с которой я сталкиваюсь, заключается в том, что примерно половину времени сообщения, которые я отправляю из службы, не поступают в код чтения в веб-приложении.Некоторые из них прибудут, а некоторые нет.Сообщения отправляются между ними с задержкой не менее 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
{
//process the message
//...
}
catch (Exception)
{
}
replyQueue.BeginReceive();
}
Буду признателен за помощь как по отсутствующим сообщениям, так и по сообщениям, не отображаемым в консоли управления
Моше