Net页面中事务的使用:TransactionScope 类

 

说明:使代码块成为事务性代码。 此类不能被继承。

命名空间:System.Transactions;;

引用:System.Transactions(在 System.Transactions.dll 中)

 

常用构造函数

TransactionScope

初始化 TransactionScope 类的新实例。

TransactionScope(TransactionScopeOption, TransactionOptions)

以指定的要求初始化 TransactionScope 类的新实例。

TransactionScope(TransactionScopeOption, TimeSpan)

以指定的超时时间值和要求初始化 TransactionScope 类的新实例。

常用方法

Complete

指示范围中的所有操作都已成功完成。

Dispose

结束事务范围。

Equals(Object)

确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)

GetType

获取当前实例的 Type。 (继承自 Object。)

Finalize

允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)

 

 

编码实例

 protected void btn_add_Click(object sender, EventArgs e)
        {
           TransactionOptions transactionOption = new TransactionOptions();

            //设置事务隔离级别
            transactionOption.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;

            // 设置事务超时时间为60秒
            transactionOption.Timeout = new TimeSpan(0, 0, 60);

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, transactionOption))
            {
                try
                {
                   //。。。。。省略业务处理代码

                    // 没有错误,提交事务
                    scope.Complete();
                }
                catch (Exception ex)
                {
                    throw new Exception("发送信息异常,原因:" + ex.Message);
                }
                finally
                {
                    //释放资源
                    scope.Dispose();
                }
            }
        
        }

 

posted @ 2012-03-22 20:11  Cynosure鱼  阅读(324)  评论(0编辑  收藏  举报