TransactionScope 分布式事务配置
转自 https://www.cnblogs.com/taiyonghai/p/6047849.html
1、先添加System.Transactions的引用(需要添加Net程序集)
C#调用时的代码如下:
对此分布式事务类讲解的很清晰的blogs地址:http://www.cnblogs.com/artech/archive/2010/01/31/1660356.html
using System.Transactions;
using (TransactionScope scope = new TransactionScope())
{
//trancation one do something...
var dbo1 = DBFactory.GetDBFacade(DBConnectionStringName.YSL_BusinessTravelTrade_ReadWrite);
string sql1 = "UPDATE dbo.TestUser SET name='ccc' WHERE id = 2";
dbo1.ExecuteNonQuery(CommandType.Text, sql1);
//trancation two do something...
var dbo = DBFactory.GetDBFacade(DBConnectionStringName.YSL_BusinessTravel_ReadWrite);
string sql = "UPDATE dbo.TestUser SET name='ccc' WHERE id = 2";
dbo.ExecuteNonQuery(CommandType.Text, sql);
//submit
scope.Complete();
}
2、设置web服务器及sql服务器环境配置
控制面板->系统和安全->管理工具->组件服务
(WEB服务器和SQL服务器都需要配置此项)


控制面板->系统和安全->管理工具->服务
(WEB服务器和SQL服务器都需要配置此项)

控制面板->系统和安全->Windows防火墙
(WEB服务器和SQL服务器都需要配置此项)


3、MSSQL配置
对服务器连接,右键->属性

4、配置Hosts(只配置WEB服务器即可,如果不行,在SQL服务器上也配置上)本人的情况就是加上这个配置才没有报错
C:\Windows\System32\drivers\etc hosts文件,用记事本打开
(在WEB服务器上的Hosts文件中需要配置SQL服务器的信息)
(如果测试通不过,在SQL服务器上的Hosts文件中配置上WEB服务器的信息)



浙公网安备 33010602011771号