TransactionScope类的使用】的更多相关文章

如果在C#中使用TransactionScope类(分布式事务),则须注意如下事项:1.在项目中引用using System.Transactions命名空间(先要在添加net组件的引用); 2.具体示例如下:   /// <summary>        /// 发送消息         /// </summary>        /// <param name="sendUserId"></param>        /// <…
System.Transactions 命名空间中除了上一节中提到的基于 Transaction 类的显式编程模型,还提供使用 TransactionScope 类的隐式编程模型,它与显示编程模型相比,更加方便简单,它也是MSDN中建议使用的编程模型. 下面,我们基于TransactionScope类实现上一节银行转帐的例程. 示例代码: (1)SqlHelper.cs using System; using System.Collections.Generic; using System.Li…
最近发现微软自带的TransactionScope(.Net Framework 2之后)是个好东东,提供的功能也很强大. 首先说说TransactionScope是什么,并能为我们做什么事情.其实看Transaction(事务)这个单词,我想大家已经能猜到个大概.不同于SqlTransaction的事务,因为现在做的项目都有不同的分层架构,如果不在数据库操作层里面做的话,那么使用TransactionScope是一种理想的方式,它是一个轻量级的事务类.所谓事务,就好比两个串联的开关,控制着一个…
命名空间:System.Transactons MSDN解释:使代码块成为事务性代码,此类不能被继承. 百度空间:在项目中引用using System.Transaction命名空间.在using 中定义了一个TransactionScope,相当于定义了一个事物范围即,这个事务作用域为using内.在using 作用域内,如果没有scope.Complete()命令,那么scope在销毁时,会自动回滚所有的操作. msdn代码示例 try{ using(Transaction scope=ne…
微软自带的TransactionScope(.Net Framework 2之后)是个好东东,提供的功能也很强大. 首先说说TransactionScope是什么,并能为我们做什么事情.其实看Transaction(事务)这个单词,我想大家已经能猜到个大概.不同于SqlTransaction的事务,因为现在做的项目都有不同的分层架构,如果不在数据库操作层里面做的话,那么使用TransactionScope是一种理想的方式,它是一个轻量级的事务类.所谓事务,就好比两个串联的开关,控制着一个灯泡,这…
在.net 1.1的时代,还没有TransactionScope类,因此很多关于事务的处理,都交给了SqlTransaction和SqlConnection,每个Transaction是基于每个Connection的.这种设计对于跨越多个程序集或者多个方法的事务行为来说,不是非常好,需要把事务和数据库连接作为参数传入. 在.net 2.0后,TransactionScope类的出现,大大的简化了事务的设计.示例代码如下: static void Main(string[] args) { usi…
在.net 1.1的时代,还没有TransactionScope类,因此很多关于事务的处理,都交给了SqlTransaction和SqlConnection,每个Transaction是基于每个Connection的.这种设计对于跨越多个程序集或者多个方法的事务行为来说,不是非常好,需要把事务和数据库连接作为参数传入. 在.net 2.0后,TransactionScope类的出现,大大的简化了事务的设计.示例代码如下: static void Main(string[] args) { usi…
TransactionScope是.Net Framework 2.0滞后,新增了一个名称空间.它的用途是为数据库访问提供了一个“轻量级”[区别于:SqlTransaction]的事物.使用之前必须添加对 System.Transactions.dll 的引用. 下列代码就是一个正在创建的事务,这个事务自身还封装了多个数据库查询.只要任意一个 SqlCommand 对象引发异常,程序流控制就会跳出 TransactionScope 的 using 语句块,随后,TransactionScope…
最近,项目需要将Excel里面的数据导入到数据库里面,但是由于Excel里面的数据的合法性和数据格式的不确定性.所以不可能每读出一条数据,就保存到数据库中. 这就使用到了TransactionScope类,首先简要介绍下这个TransactionScope. 在.net 1.1的时代,还没有TransactionScope类,因此很多关于事务的处理,都交给了SqlTransaction和SqlConnection,每个Transaction是基于每个Connection的.这种设计对于跨越多个程…
.Net 2.0引入了轻量级事务管理器(Lighweight Transaction Manager),即System.Transactions.TransactionManager. 轻量级事务管理器具有最小的开销,对比使用轻量级事务管理器的事务和直接使用本地事务,并没有性能上的差别.         如果一个事务里只有一个资源管理器,轻量级事务管理器可以让资源管理器来管理该事务,而轻量级事务管理器只负责监视他:如果轻量级事务管理器发现有另外一个资源管理器被加入到事务中,轻量级事务管理器则会让…