WCF MsMqIntegrationBinding を使用しており、メッセージをリモート キューに書き込もうとしています。Hugh と John Breakwell のおかげで、通常の Messaging 呼び出しだけを使用して書き込みを行うことができましたが、WCF で MsmqIntegrationBinding を使用しようとすると、リモート キューに入れることができないようです。エラーメッセージは表示されません。表示されないだけです。
useSourceJournal を追加して、問題の特定に役立つかどうかを確認しました。
何か案は?
メッセージをキューに書き込むコード。キューがローカルの場合に機能します...リモートではありません:
for (int i = 0; i < 1; i++)
{
Console.WriteLine("Loop: " + i.ToString());
string path = ConfigurationManager.AppSettings["TestMessagesAll"];// @"D:\Demos\XmlMessages\";
string[] files = System.IO.Directory.GetFiles(path, "*.xml");
Parallel.ForEach(files, currentFile =>
{
string fileName = System.IO.Path.GetFileName(currentFile);
Console.WriteLine("Writing File {0}", fileName);
XElement xdoc = XElement.Load(path + fileName);
string xml = xdoc.ToString();
using (MessageClient strClient = new MessageClient("MessageResponseEndpoint"))
{
//MsmqMessage<XElement> strXmlMsg = new MsmqMessage<XElement>(xdoc);
MsmqMessage<string> strXmlMsg = new MsmqMessage<string>(xml);
strXmlMsg.Label = fileName;
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
{
strClient.SubmitStringMessage(strXmlMsg);
scope.Complete();
}
//Console.WriteLine(Environment.NewLine + "XML string has been submitted for processing:"
// + Environment.NewLine + "{0}", xdoc.ToString());
}
});
}
アプリ構成:
<bindings>
<msmqIntegrationBinding>
<binding name="MessageProcessorBinding" useSourceJournal="true">
<security mode="None"/>
</binding>
</msmqIntegrationBinding>
</bindings>
任意の提案をいただければ幸いです。
ありがとう、
S