WCF MsmqIntegrationBinding - Удаленная очередь - PullRequest
0 голосов
/ 18 января 2012

Я использую 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

...