我有下面的代碼報廢測試MSMQ確認:「\私人$ \ QUEUENAME」MSMQ:傳送到遠程隊列時致謝不會返回
static void Main(string[] args)
{
string queuePath = args[0];
string ackQueuePath = args[1];
MessageQueue queue = new MessageQueue(queuePath);
MessageQueue ackQueue = new MessageQueue(ackQueuePath);
Message message = new Message("Body text");
message.Label = "test";
message.Recoverable = true;
message.TimeToReachQueue = new TimeSpan(0, 1, 0);
message.TimeToBeReceived = new TimeSpan(1, 0, 0);
message.AdministrationQueue = ackQueue;
message.AcknowledgeType = AcknowledgeTypes.FullReachQueue;
queue.Send(message, MessageQueueTransactionType.Single);
}
如果queuePath和ackQueuePath都是局部的,即格式,我會按照預期在主隊列中獲得「測試」消息,並在管理隊列中獲得到達隊列確認。但是,如果queuePath指向遠程隊列,即「FormatName:DIRECT = OS:MACHINENAME \ private $ \ queuename」格式,則在該遠程隊列中收到「test」消息,但在本地管理隊列中沒有到達隊列確認。
我還沒有看到任何指示確認無法從遠程隊列返回的消息,所以我認爲我的代碼或環境存在問題。有任何想法嗎?
(這兩款機器都是Windows 2003)
那真的很爛......說了很多關於MSMQ。幾個星期前我開始使用它,並且我仍然有成千上萬的問題,爲什麼有時這個或那個不起作用... – 2010-08-17 09:21:40