我在生产服务器上随机发生了 DTC 错误。我在 Windows 2008R2 服务器的 IIS7 中托管了 WCF 服务,另一个 WCF 服务作为 Windows 服务托管在同一台服务器上,数据库服务器 sql 2008 托管在另一个集群服务器 Windows 2003 中。事务从 IIS 中托管的 wcf 服务传输到作为 Windows 服务托管的另外 4 个 wcf 服务,顺序如下:
客户端->WCF服务(IIS)->WCF服务1(winService)->WCF服务2(winService)->WCF服务3(winService)->WCF服务4(winService)
所有服务之间的绑定是 net.tcp 绑定。我的问题是我随机收到这个错误,我不知道为什么或如何解决这个错误,错误是:
System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]:未保存帐户条目... Microsoft 分布式事务协调器 (MS DTC) 已取消分布式事务。(Fault Detail 等于 An ExceptionDetail,可能由 IncludeExceptionDetailInFaults=true 创建,其值为:System.Exception: Account Entry was not saved ... Microsoft Distributed Transaction Coordinator (MS DTC) 已取消分布式事务。--- -> System.Data.SqlClient.SqlException:Microsoft 分布式事务协调器 (MS DTC) 已取消分布式事务。在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser .ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在系统。
我检查了 DTC 配置并检查了允许入站和出站复选框并选择了无身份验证要求,但错误仍然随机出现,有时我们必须重新启动服务器才能解决此问题。你能帮我理解它吗?我该如何处理?
谢谢