[英]Sending MSMQ Message to a remote Transactional Queue
我是 MSMQ 的新手,正在嘗試將 XML 消息發送到遠程事務隊列。 兩台機器都是2003服務器。 我可以讓它與非事務性遠程隊列一起工作。 我似乎無法將消息放到事務隊列中。 C# 代碼如下。 我沒有收到錯誤,它只是從未出現過。
Message rqMessage = new Message();
System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer( typeof([message type]));
XmlTextWriter writer = new XmlTextWriter(rqMessage.BodyStream, Encoding.UTF8);
ser.Serialize(writer, rqDoc);
rqMessage.Label = "message label";
rqMessage.TimeToBeReceived = Message.InfiniteTimeout;
rqMessage.TimeToReachQueue = Message.InfiniteTimeout;
rqMessage.ResponseQueue = new MessageQueue("Path");
rqMessage.Formatter = new ActiveXMessageFormatter();
MessageQueue rqQueue = new MessageQueue(nodeRequestQueue.SelectSingleNode("Path").InnerText);
bool transactional = false;
try
{
transactional = rqQueue.Transactional;
}
catch(MessageQueueException)
{
transactional = false;
}
if ( transactional )
rqQueue.Send(rqMessage, MessageQueueTransactionType.Single);
else
rqQueue.Send(rqMessage);
您可以顯式創建事務。
using (var transaction = new MessageQueueTransaction())
{
transaction.Begin();
rqQueue.Send(rqMessage, transaction);
transaction.Commit();
}
對於您正在使用的重載,也許您沒有“直接格式名稱”並且該選項不受支持。 MSDN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.