该伙伴事务管理器已经禁止了它对远程/网络事务的支持

今天在配一个空间的时候出现这种问题,换了一个空间还是如此,但万网的空间就正常,照样baidu google之,发现几种解决办法,都说跟MSDTC服务有关,但空间商的服务器又没法随便改,继续找原因,找到一个靠谱的:

http://voluntariness.blog.163.com/blog/static/4090241320097711345669/

TransactionScope异常:该伙伴事务管理器已经禁止了它对远程/网络事务的支持

asp.net 2009-08-07 11:34:05 阅读12 评论0   字号: 订阅

当IIS应用服务器与SQL Server数据服务器在不同机器上时, Transaction发生异常.
花了几天时间,终于也解决了. 共勉之:
1.对MSDTC组件设置:
步骤:
1.控制面板->管理工具->组件服务->计算机->我的电脑->右键->属性
2. 选择MSDTC页, 确认"使用本地协调器"
3.点击下方"安全配置"按钮
4. 勾选: "允许网络访问","允许远程客户端","允许入站","允许出站","不要求进行身份验证".
5. 对于数据库服务器端, 可选择"要求对呼叫方验证"

2.在双方防火墙中增加MSDTC.exe例外
可用命令行: netsh firewall set allowedprogram %windir%/system32/msdtc.exe MSDTC enable 
原来正好用了一个页面级的事务,用到了Transaction="Required" ,本机调试正常,因为IIS和数据库都在一个机器上,万网的空间也是如此,但另两个空间的IIS和数据库是分别在两台主机上的,因此出现问题了。
因为添加数据库的操作很简单,就把这种事务方法去掉了。
posted @ 2011-05-13 12:35  yan_xiaodi  阅读(247)  评论(0编辑  收藏  举报