WCF MsmqIntegrationBinding - Удаленная очередь
Я использую WCF MsMqIntegrationBinding и пытаюсь записать свои сообщения в удаленную очередь. Благодаря Хью и Джону Бруквеллу я смог заставить их писать, просто используя обычные вызовы Messaging, но когда я пытаюсь использовать MsmqIntegrationBinding с WCF, я не могу передать его в удаленную очередь. Я не получаю никаких сообщений об ошибках, просто они не отображаются.
Мой другой вопрос об удаленной очереди
Я добавил 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