gpt4 book ai didi

msmq - 使用 NServiceBus 获取 MSMQ 消息的 Id 属性

转载 作者:行者123 更新时间:2023-12-02 00:04:41 26 4
gpt4 key购买 nike

我需要在我的处理程序中获取 msmq 消息的 ID,以便我可以将该 ID 写入日志。

当消息发送到错误队列时,会发送一封电子邮件通知我们失败的消息。一旦导致该消息的错误得到解决,我们需要使用“ReturnToSourceQueue”NServiceBus 工具再次尝试该消息。如果不记录该 ID,在查看消息队列时将很难追踪到哪条消息是哪条消息。

我看过的每个地方都表明,在 ComputerManagement->Services and Applications->Message Queuing->[Some Queue] 中查看队列时,Bus.CurrentMessageContext.Id 会给我与 Message ID 列中相同的 Id ->队列消息。但是,这些 ID 似乎并不相同。

我错过了什么?

最佳答案

您在 MMC 插件或队列资源管理器中看到的消息 ID 不同的原因是,当消息被“移动”到错误队列时,实际发生的是创建了一个具有相同正文和 header 并将其发送到错误队列。

此外,当处理消息失败时,NServiceBus 已经为您记录了这一点并包含了消息的 ID,所以这已经为您完成了。

如果您获取记录的 ID 并将其传递给 ReturnToSourceQueue 工具,一切都会正常进行。

您的最后一个难题是在消息失败时发送电子邮件。现在,我不确定这是最明智的想法,因为当数据库脱机或第 3 方网络服务变得无响应时,您可能最终会向您的运营团队发送垃圾邮件。不过,如果那是您想要做的,那么我建议在记录错误时使用电子邮件附加程序。

最后,让我说一下,我们正在将这种通知功能构建到 Particular Service Platform 中。围绕 NServiceBus。我们有一个显示错误并允许重新处理消息的 UI,将于 2013 年 11 月作为测试版发布,通知功能可能会在年底准备就绪。

这真的是一个问题,你是要等待还是要自己构建它。

关于msmq - 使用 NServiceBus 获取 MSMQ 消息的 Id 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19164447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com