关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法

TransactionScope处理分布式事务提示:事务已被隐式或显式提交,或已终止

用.net2.0的TransactionScope处理分布式事务提示:事务已被隐式或显式提交,或已终止。
中间层服务端和数据库服务器分别在不同的机械上,数据库服务器装有ISA2004防火墙,之前都是可以的,
最近不知什么原因就不行了,并用以下方法设置了,也不行,搞了几天了.
对MSDTC组件设置:
步骤:
1.控制面板->管理工具->组件服务->计算机->我的电脑->右键->属性
2. 选择MSDTC页, 确认"使用本地协调器"
3.点击下方"安全配置"按钮
4. 勾选: "允许网络访问","允许远程客户端","允许入站","允许出站","不要求进行身份验证".
5. 对于数据库服务器端, 可选择"要求对呼叫方验证"
停止分布式事务协调器服务,然后重新予以启动。  
停止参与分布式事务的任何资源管理器服务(如 Microsoft SQL Server 或 Microsoft Message Queue Server),然后重新予以启动。  
6.在双方防火墙中增加MSDTC.exe例外
可用命令行: netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable
7.dtC用到remoting的135端口,确保防火墙没有阻止

2.在数据库服务器(MS SQL)上的 hosts 文件中加入 Web 服务器(IIS) 的 IP 和 主机名 映射对 
1. 
定位到 C:\WINDOWS\system32\drivers\etc 目录 
2. 
记事本打开 hosts 文件(没有扩展名) 
3. 
添加一行 Web 服务器 IP 和 主机名映射, 如  
10.10.1.118 MyWebServerHostName
192.168.1.25 jack

你可能感兴趣的:(transaction)