【问题标题】:How to send message to remote queue without saving messages in outgoing queue while remote machine is not connected?如何在远程机器未连接时将消息发送到远程队列而不将消息保存在传出队列中?
【发布时间】:2011-07-31 11:37:13
【问题描述】:

我有一台具有专用队列的远程计算机,服务器将这些消息发送到远程队列。这工作正常。问题是当远程机器未连接到网络或关闭时,消息会保存在服务器的传出队列中,稍后在远程机器上线时传递。现在我的要求是,如果消息没有传递,服务器应该知道。在当前情况下,没有抛出异常,因为它保存在传出队列中。

现在我想到了三件事。

  1. 传出队列不应保存消息。
  2. 应该从远程机器返回一些确认。
  3. 我应该直接通过队列 url 发布消息,因为它托管在 IIS 下。

我想使用解决方案 3,但没有找到关于该主题的任何资源。

【问题讨论】:

  • 任何未传递的消息将始终保留在传出队列中。这是 mq 应该如何工作的默认机制。如果您想通知服务器 - 您可以检查消息 ID 或某个唯一 ID,并检查其在传出队列中的存在...
  • 能否请您提供一些关于如何观看传出队列的信息。

标签: c# .net iis queue msmq


【解决方案1】:

查看为您的消息设置接收超时并使用死信队列。当远程服务器在指定的超时时间内没有读取消息时,消息将被移动到死信队列。您可以监控死信队列以了解远程服务器何时未收到消息。

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 2012-02-12
    • 2012-05-20
    • 1970-01-01
    • 2013-02-03
    • 2015-12-03
    • 1970-01-01
    • 2012-07-25
    • 2014-07-29
    相关资源
    最近更新 更多