Я использую WCF MsMqIntegrationBinding и пытаюсь записать свои сообщения в удаленную очередь.Благодаря Хью и Джону Бруквеллу я смог заставить их писать, просто используя обычные вызовы Messaging, но когда я пытаюсь использовать MsmqIntegrationBinding с WCF, я не могу передать его в удаленную очередь.Я не получаю никаких сообщений об ошибках, они просто не отображаются.
Мой другой вопрос об удаленной очереди
Я добавил useSourceJournal, чтобы попытаться выяснить, поможет ли это woudl идентифицировать проблему.*
Код для записи сообщения в очередь.Работает, когда очередь локальная ... только не удаленная:
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>
Будем благодарны за любые предложения.1020 * S