【问题标题】:Would a private MessageQueue object with an invalid path trigger a MessageQueueException?具有无效路径的私有 MessageQueue 对象会触发 MessageQueueException 吗?
【发布时间】:2011-10-28 02:01:33
【问题描述】:

首先,我没有使用 MSMQ 的经验。

假设一个无效的路径被传递给一个私有 MessageQueue 对象的构造函数,它会在调用 send 方法时触发 MessageQueueException 吗?如果是这样,错误代码是否仍然是 QueueNotFound? MSDN 指出,对于未在目录中注册的公共队列和消息队列命名空间中不存在的 Internet 队列,将返回此错误。但是,根据我阅读的内容,私有队列未在 Active Directory 中发布,因此我不确定会发生什么。

如果这没有意义,我深表歉意。

【问题讨论】:

    标签: asp.net-2.0 msmq


    【解决方案1】:

    如果您尝试发送到一个不存在的队列,那么只要队列名称的格式有效,发送调用就不会失败。我的意思是目标队列地址不需要存在,但队列名称的格式必须正确。

    相反,MSMQ 子系统将在本地将消息排队在一个临时出站队列中,您应该能够看到该队列出现在框中。

    这样做的原因是它认为目标队列可能暂时不可用,当它再次可用时,将传输消息。

    但是在一段时间后(不记得默认值)它会将消息移动到死信队列中,因为无法传递。

    希望这会有所帮助。

    【讨论】:

    • MSMQ 只生成一个异常以传递到本地传出队列。错误捕获到远程目的地的传递问题需要负源日志和监控发件人上的死信队列。操作系统。
    • 谢谢约翰,我想将您的评论纳入我的回答中,但我不确定我是否理解您在说什么。
    • 忽略最后的“操作系统”位 - 不知道为什么会在那里结束。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    相关资源
    最近更新 更多