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服务器的信息)

猜你喜欢

转载自www.cnblogs.com/gezifeiyang/p/12165257.html