我们的客户最近将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)机器中启用网络访问以进行“分布式事务协调”。服务。

如果您需要帮助查找其他答案中提到的MSDTC设置(就像我一样),以下链接将说明如何在服务器2003上配置MSDTC。

http://itknowledgeexchange.techtarget的.com / SQL服务器/如何以进行配置-DTC上 - 窗口2003 /

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top