Wcf 不应该';有毒消息服务处理一般消息吗?
好的,所以我一直在试着绕着队列->死信队列->死信队列的毒药子队列-> 现在,到目前为止,如果消息处理失败或接收方不支持对消息执行操作,则可以将消息发送到中毒队列。显示使用与主服务相同的合同执行毒药服务。如果错误是契约不支持提供的消息,那么这不会将有毒消息队列中的有毒消息放入有毒消息队列中吗 如果有一个处理程序可以处理毒药队列中的任何东西,这不是更有意义吗?下面假设一个WCF消息,它可能也不安全(并且完全未经测试),但是有没有一种方法可以进行防傻瓜的毒药队列处理?我越是尝试去思考排队的边缘情况,我就越觉得不可能有一个完整的系统来处理所有的可能性Wcf 不应该';有毒消息服务处理一般消息吗?,wcf,msmq,Wcf,Msmq,好的,所以我一直在试着绕着队列->死信队列->死信队列的毒药子队列-> 现在,到目前为止,如果消息处理失败或接收方不支持对消息执行操作,则可以将消息发送到中毒队列。显示使用与主服务相同的合同执行毒药服务。如果错误是契约不支持提供的消息,那么这不会将有毒消息队列中的有毒消息放入有毒消息队列中吗 如果有一个处理程序可以处理毒药队列中的任何东西,这不是更有意义吗?下面假设一个WCF消息,它可能也不安全(并且完全未经测试),但是有没有一种方法可以进行防傻瓜的毒药队列处理?我越是尝试去思考排队的边缘情况,
[OperationContract(IsOneWay = true, Action = "*")]
[OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
public void CatchAll(Message message)
{
// Log somewhere?
}
另一个想法是使用触发器将所有消息从中毒队列移回死信队列,以便再次处理—这可能会再次中毒并无限循环
我想具体的问题是。。人们如何处理死信队列中的有毒消息?一般的问题是-你是如何处理MSMQ中的所有情况的?据我所知,
MsmqMessage
类型可以与任何WCF MSMQ绑定一起使用
因此,如果指定的接收类型为
MsmqMessage
,则应涵盖所有基础。您将以字符串形式接收消息。如何处理字符串中的内容是另一回事…据我所知,MsmqMessage
类型可以与任何WCF msmq绑定配合使用
因此,如果指定的接收类型为
MsmqMessage
,则应涵盖所有基础。您将以字符串形式接收消息。你如何处理字符串中的内容是另一回事…那么你是说不要麻烦执行原始合同吗?在毒药处理程序中是的。那么你是说不要麻烦执行原始合同吗?在毒药处理程序中是的。