我不断看到文档 http://msdn.microsoft.com/en-us/library/ms702030(VS.85).aspx表示不可能发送到事务范围之外的远程事务 msmq 队列。我发现这很难相信,因为我think我已经这样做了好几个星期了。我有一个小应用程序,它将消息发布到事务性的远程队列。只是为了测试性能,各种版本的客户端要么使用 TransactionScope 来包装发送操作,要么不使用。最终,使用一些补偿事务逻辑似乎更智能、更快,因此客户端和服务器上都不再使用 TransactionScope。问题是,消息似乎仍然显示在队列中,并且由服务处理,没有任何问题。
有人可以向我解释我在这里缺少什么吗?难道只是我脸皮厚吗?请随意这么说(这肯定不是第一次)。
您使用 TransactionScope 引用的事务是由 dtc(分布式事务协调器)实现的。 msmq(像sql)有其内部事务引擎。消息中有一个属性表明它是事务性消息。您可能将其设置在代码中的某个位置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)