“与底层交易管理器的通信失败”错误信息
-
03-07-2019 - |
题
我们的客户最近将ASP.NET 1.1 Web应用程序升级到使用COM +事务处理的ASP.NET,并在尝试处理事务时收到以下异常:
异常类型: System.Transactions.TransactionManagerCommunicationException结果 消息:与...沟通 基础交易经理有 失败。
内部异常类型: System.Runtime.InteropServices.COMException ErrorCode:-2147467259
消息:错误 HRESULT E_FAIL已退回 调用COM组件。
以下是MSDTC安全设置的以下设置:
- 网络DTC访问
- 允许入站
- 允许出站
- 需要传入呼叫者身份验证
Windows XP SP3工作站正在尝试建立与Windows Server 2003计算机的连接。
是否有其他人遇到此错误并知道如何解决此问题。
解决方案
您需要在XP工作站和Windows 2003计算机上启用网络DTC访问。此外,如果您的应用程序仅在内部发布,则可以关闭传入的呼叫者身份验证并将其设置为“无身份验证”。
其他提示
将C:\ Windows \ msdtc.exe添加到防火墙和服务器上的防火墙例外。在我这样做之前,我花了很多年的时间来打开特定的端口号和范围无济于事。
1)除了允许网络访问“分布式事务协调”之外,禁用认证。服务 (相互认证不像xp sp3机器中的互联网那样工作)
2)在客户端(web应用程序)和服务器(sql server)机器中启用网络访问以进行“分布式事务协调”。服务。
您还需要确保防火墙对端口135和5000-5020开放。
见这些: http:// social .msdn.microsoft.com /论坛/ EN-US / windowstransactionsprogramming /线程/ 71f7a219-c85d-4a04-973b-c73464f59606 / http://blogs.msdn.com/florinlazar/archive/ 2005/09/16 / 469064.aspx http:// social .msdn.microsoft.com /论坛/ EN-US / architecturegeneral /线程/ 7731d7a7-a9ad-42e7-b0bb-f3656b870304 / http://support.microsoft.com/kb/154596/
如果您需要帮助查找其他答案中提到的MSDTC设置(就像我一样),以下链接将说明如何在服务器2003上配置MSDTC。
http://itknowledgeexchange.techtarget的.com / SQL服务器/如何以进行配置-DTC上 - 窗口2003 /