【问题标题】:MSMQ - send to remote private queue does nothingMSMQ - 发送到远程专用队列什么都不做
【发布时间】:2012-01-21 02:53:18
【问题描述】:

我正在尝试使用 MSMQ,并且可以让发送方/接收方在本地计算机上工作。现在我正在尝试让发件人从另一台机器上工作并将消息发送到远程私人队列,但现在我的发件人说它已经发送了一条消息但没有收到任何东西 - 或者看起来它已经发送到我可以说。

我已确保它连接到删除私有队列,如下所示:

FormatName:Direct=TCP:ipaddress\private$\TestQueue

其中 ipaddress 是我的远程机器的正确地址。然后我可以在计算机管理中看到为该队列创建了一个传出队列。然而,当我使用 Send() 方法时,它完成并且什么也不做。传出队列中什么都没有出现,当然也不会出现在远程机器上。它也没有任何错误地执行此操作 - 它什么也不做并继续进行。

我尝试使用这篇文章 http://beaucrawford.net/post/MSMQ-ndash3b-Sending-Messages-to-Remote-Queues.aspx 为确认添加代码,但它确实引发了一个异常,指出在确认队列中找不到请求的消息。

有什么想法吗?在进行分布式消息队列之前,是否需要配置一些东西?

更新:

发现这与我发送到的队列的权限有关。使用下面的答案,我打开了死信队列以找出消息的去向,发现消息正在发送到远程私有队列但访问被拒绝。

【问题讨论】:

    标签: c# msmq


    【解决方案1】:

    多半是队列权限不足。

    在您的代码中启用 Negative Source Journaling 以获取解释未交付的死信队列消息。

    http://technet.microsoft.com/en-us/library/cc739818(WS.10).aspx

    干杯
    约翰·布雷克韦尔

    【讨论】:

      猜你喜欢
      • 2012-07-25
      • 2012-02-12
      • 2015-01-20
      • 2012-06-23
      • 2012-05-20
      • 2021-04-26
      • 2011-04-16
      • 2011-10-22
      • 2013-09-10
      相关资源
      最近更新 更多