![](/img/trans.png)
[英]Is it possible to capture MSMQ messages from a private queue or add a second destination?
[英]MSMQ messages not being received in private queue
我是編程新手,並且對此有疑問。 我不知道為什么消息沒有出現在私人隊列中...
這是我正在處理的代碼,但是安靜地無法正常工作,盡管我創建了另一個沒有異步功能的msmq應用程序,但是這里出現了問題。
class Program
{
static MessageQueue queue = new MessageQueue();
static void Main(string[] args)
{
queue.Path = @".\Private$\NPQueue-Fall17-3";
queue.Formatter=new XmlMessageFormatter();
if (MessageQueue.Exists(queue.Path)==false)
MessageQueue.Create(queue.Path);
MessageQueueTransaction trans = new MessageQueueTransaction();
try {
trans.Begin();
queue.Send("hi1");
queue.Send("hi2");
throw new Exception("error");
queue.Send("hi3");
queue.Send("hi4");
trans.Commit();
Console.WriteLine(queue.Receive().Body);
Console.WriteLine(queue.Receive().Body);
Console.WriteLine(queue.Receive().Body);
Console.WriteLine(queue.Receive().Body);
Console.Read();
}
catch
{
trans.Abort();
}
queue.ReceiveCompleted += queue_ReceieveCompleted;
queue.BeginReceive();
Console.Read();
trans.Commit();
}
private static void queue_ReceieveCompleted(object sender, ReceiveCompletedEventArgs e)
{
var msg = queue.EndReceive(e.AsyncResult);
Console.WriteLine(msg.Body);
queue.BeginReceive(); //bar bar read kelye lagaya hai
}
}
}
您已將拋出期望硬編碼到事務中。 這將導致異常,並導致異常終止。 隨着事務中止,您實際上沒有發送任何東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.