如何找出分布式事务的错误?

时间:2014-10-07 11:10:55

标签: c# wcf iis transactions msdtc

我在最后几天搜索了很多内容并检查了数据和注册表,但没有找到解决方案甚至问题的根本原因:

我们有多个WCF Web服务,它们使用分布式事务作为“允许”(不是“强制”)相互通信(最后是SQL Server数据库)。我们有一个Web Farm(2008R2,带有WFF的IIS7),它在一个节点上运行,而另一个节点则没有。交易根本不会通过。

我编写了一个测试应用程序,该应用程序自我托管三个服务链,除了相互调用之外什么都不做。最后一个返回true。该链将在一台机器上具有分布式事务(通过打印出分布式事务ID可以看出),而在另一台机器上没有分布式事务。但是,没有错误。根本就没有交易。

我检查了你打电话时打开的对话框

  

dcomcnfg.exe =>计算机=> MyComputer =>分布式事务控制器=>本地DTC =>特性

它们在两台机器上完全相同。只是为了确保我导出了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC下面的注册表项。机器之间的唯一区别是 KtmRmTmIdentifierXAKeyCNGKeyDataBlob个密钥。作为不同的机器,我希望它们是不同的。所有设置都相同。

现在使用完全相同的二进制可执行文件并且在另一台机器上失败我强烈怀疑我们的机器设置有问题但是我真的没有可能的选择在哪里寻找差异或如何找出错误。

有没有人有任何想法我还能检查什么或者我可以运行哪些测试来找出问题所在?

其他信息:

设置如下:

LocalDTCProperties

1 个答案:

答案 0 :(得分:0)

我们遇到了类似问题,发现BizTalk Adapter pack CU3丢失,因此WCF适配器无法正常工作。

https://support.microsoft.com/en-us/help/2617150/cumulative-update-package-3-for-biztalk-adapter-pack-2010