【发布时间】:2014-07-18 23:58:50
【问题描述】:
我创建了一个针对 MSMQ 的 WCF 服务合同。既然是MSMQ,我就用单向通信:
[OperationContract(IsOneWay = true)]
在我的服务实现中,我有 OperationBehavior 自动提交事务:
[OperationBehavior(TransactionAutoComplete = true, TransactionScopeRequired = true)]
这确保 WCF 通过将消息放入重试队列(根据我的配置)来处理任何异常。从单向操作中抛出异常似乎很奇怪。这是告诉 WCF 不要提交事务的正确方法吗?
【问题讨论】:
-
问题有点含糊?您的意思是,您在调用服务的客户端中遇到异常,或者您只是在此服务方法中看到异常?
-
我认为您的问题可能是 TransactionScopeRequired。检查msdn.microsoft.com/en-us/library/…
-
我只是问在使用 MSMQ 时抛出异常是否是在 WCF 中回滚事务的正确方法。
标签: wcf exception-handling message-queue msmq