gpt4 book ai didi

.net - 如何使用 WCF 将事务性 MSMQ 中的消息显式标记为中毒

转载 作者:行者123 更新时间:2023-12-02 15:49:54 25 4
gpt4 key购买 nike

我正在使用 MSMQ 版本 4 并且有一个事务队列。我正在使用 WCF 来监听队列中的传入消息。

处理时存在对第三方组件的依赖性,这些组件可能会失败或在较长时间内不可用。为了弥补这一点,我使用 MSMQ 4 ( http://msdn.microsoft.com/en-us/library/aa395218.aspx ) 中的有害消息处理功能来重试消息 x 次,并等待 y 次等待时间。

但是在某些情况下我知道输入消息无效/中毒。当发生这种情况时,抛出异常将使该消息像所有其他消息一样遵循有害消息处理例程,并具有所有重试和等待时间。但是,当我知道消息已中毒时,我没有理由重试并等待配置的时间以使其由中毒队列处理。

是否有任何方法可以将消息显式标记为中毒,以便它不会遵循配置的重试流程并立即移至中毒队列?

最佳答案

好吧,在这种情况下,我建议将请求数据存储在数据库中,并且不要抛出任何异常,以便 WCF 消息成功处理并将其从队列中删除。

如果需要的话,我们可以稍后处理这些数据,处理来自数据库的数据比监视/管理中毒队列更容易。

您可以进行一些配置,基于您可以决定消息的下一个处理时间戳,并且线程可以重新处理来自数据库的此类消息。

关于.net - 如何使用 WCF 将事务性 MSMQ 中的消息显式标记为中毒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13721866/

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