0

リモート MSMQ への書き込みがオン/オフになっているようです。何が間違っているのか、送信を確認するために他に何をすればよいのかわかりません。

ある種のACKを設定するのは気が進まない。それはやり過ぎのようです。

  using (var queue = new MessageQueue(queueName, QueueAccessMode.Send))
      {
        var messageQueueTransaction = new MessageQueueTransaction();
        messageQueueTransaction.Begin();
        try
        {
          queue.Formatter = new XmlMessageFormatter(new Type[] { typeof(EmailMessage) });
          var msg = new Message();
          msg.Label = emailMessage.Subject;
          msg.Body = emailMessage;
          queue.Send(msg, messageQueueTransaction);
          messageQueueTransaction.Commit();
        }
        catch (Exception e)
        {
          LoggerLib.Logger.ErrorException(e, "Error Sending Email using MSMQ", emailMessage);
          messageQueueTransaction.Abort();
        }
        finally
        {
          queue.Close();
        }
      }

MSMQ の接続文字列は、"FormatName:DIRECT=OS:FULLMACHINENAME\private$\emailmessagequeue" の形式です。

また、「FormatName:DIRECT:TCP:IPAddress\private$\emailmessagequeue」を使用しました。

ローカルで実行したところ、問題なく動作しました。そのため、Everyone にフル アクセスを許可しましたが、まだ機能しません。

何か案は?

4

1 に答える 1

2

ポート番号 1801 がブロックされました。それで解決しました。–</p>

于 2013-09-09T23:52:42.320 に答える