使用TransactionScope(http://msdn.microsoft.com/zh-cn/library/system.transactions.transactionscope(VS.80).aspx)实现隐式事务以及分布式事务,需要先配置好各机器的DTC,包括“初始化事务的客户端计算机”以及“承载资源管理器(如 Microsoft SQL Server)的 DTC 的计算机”。
配置环境:
客户端:Windows 2003
承载资源服务器:Windows 2008
开始->管理工具->组件服务->计算机->我的电脑,右键 属性->MSDTC选项卡,勾选“使用本地协调器”。
打开安全配置对话框, 至少勾选“网络DTC访问”,“允许入站”,“允许出站”,“不要求进行验证”。
确定后,配置客户端防火墙,可以通过命令:“netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable”实现。
Windows 2008的配置:
同样,开始->管理工具->组件服务->计算机->我的电脑,但继续向下展开->Distributed Transaction Coordinator->本地DTC,右键->属性->安全选项卡。同样勾选“网络DTC访问”,“允许入站”,“允许出站”,“不要求进行验证”。
配置防火墙,开始->管理工具->高级安全Windows防火墙,在“出站规则”,“入站规则”中分别添加新规则:规则类型-》程序,程序-》“C:\Windows\System32\Msdtc.exe”,操作-》允许连接。
这样配好后,应该就可以使用分布式事务了。