在组件之间实现事务和异步提交事务(NET2.0)
2{
3using (TransactionScope _ts = new TransactionScope())
4{
5 //插入用户
6 new user().Insert(UserName);
7
8 // 插入角色
9 new Role().Insert(UserName,alRoles);
10
11 _ts.Complete();
12}
13}
异步提交事务的代码也很简单:
2 {
3 Transaction _old = Transaction.Current;
4 CommittableTransaction _newCommit = new CommittableTransaction();
5 Transaction.Current = _newCommit;
6
7 try
8 {
9 _newCommit.BeginCommit(OnCommit, null);
10 }
11 finally
12 {
13 Transaction.Current = _old;
14 }
15 }
16 void OnCommit(IAsyncResult asy)
17 {
18 CommittableTransaction _commit;
19 _commit = asy as CommittableTransaction;
20
21 try
22 {
23 using (_commit)
24 {
25 SqlConnection _cnn = new SqlConnection("");
26 SqlCommand _cmd = new SqlCommand();
27
28
29 _cnn.Open();
30
31 _cnn.EnlistTransaction(_commit); // 利用事务
32
33 _cmd.Connection = _cnn;
34
35 _cmd.CommandText = ".";
36 _cmd.ExecuteNonQuery();
37
38 _cmd.CommandText = "";
39 _cmd.ExecuteNonQuery();
40
41 _commit.EndCommit(asy);
42
43 _cnn.Close();
44 }
45 }
46 catch (Exception e)
47 {
48
49 }
50 }
上面我们用TransactionScope和CommittableTransaction。
TransactionScope是隐示的,是由系统自动管理的,所以它没有什么RollBack方法。
CommittableTransaction是显示的,它有commit和RollBack方法。
------------------------------------------
以上都是个人的看法和体会,如有不妥处,还请大家多多指点,谢谢!
转载于:https://www.cnblogs.com/BearsTaR/archive/2006/04/17/Transactions.html
在组件之间实现事务和异步提交事务(NET2.0)相关推荐
- Vue2 组件之间传值
组件件的传值有点复杂,我在这里记录一下哈 Vue2.0 传值方式: 在Vue的框架开发的项目过程中,经常会用到组件来管理不同的功能,有一些公共的组件会被提取出来.这时必然会产生一些疑问和需求?比如一个 ...
- vue中组件之间传值的六种方式(完整版)
前言 组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系: 如上图所示,A 和 B.B 和 C.B ...
- Vue中组件之间8中通信方式
vue是数据驱动视图更新的框架, 所以对于vue来说组件间的数据通信非常重要,那么组件之间如何进行数据通信的呢? 首先我们需要知道在vue中组件之间存在什么样的关系, 才更容易理解他们的通信方式, 就 ...
- vue中子组件和子组件之间怎么通信_Vue组件间通信6种方式
摘要: 总有一款合适的通信方式. Fundebug经授权转载,版权归原作者所有. 前言 组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用 ...
- vue变量传值_vue组件与组件之间传值
目录 一.父组件向子组件传值 二.子组件向父组件传值 三.兄弟组件之间的传值 如上图所示,2是1的子组件,1是3的父组件,2和3是兄弟组件 一.父组件向子组件传值: html代码: <div i ...
- vue中子组件和子组件之间怎么通信_vue.js组件之间如何通信?
vue.js组件之间如何通信?下面本篇文章就来给大家介绍一下Vue.js组件间通信方式.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 平时在使用Vue框架的业务开发中,组件不仅仅要 ...
- React 组件之间传递参数
其实react组件之间传递参数是比较简单的,但是没有具体的使用过,组件之间传递参数是比较常见的事情,所以记录一下,防止以后自己在网上胡乱的翻找 最近做了一个商品的列表页面,我想通过点击修改能够实现商品 ...
- Vue父组件和子组件之间传递数据
Vue父组件和子组件之间传递数据 klmhly 已关注 2018.05.19 19:56* 字数 367 阅读 23评论 0喜欢 0 一.概念解析 挂载点: Vue实例的el属性对应的id,vue只会 ...
- Android--Otto事件总线 -- 组件之间通讯框架使用 --模式解析
前言:Otto事件总线 -- 组件之间通讯框架 对于之前的情况activity之间或者fragment之间等跳转传值一般都是用bundle.intent等,从activityA --- activit ...
最新文章
- NSString类详解
- Framebuffer的配置及应用——先转载留着,以后一定要弄懂
- python添加系统环境win7_python环境配置(基于win7 x64)
- python字典的遍历方法_遍历python字典几种方法
- 《leetcode》valid-sudoku
- clion编译器解决undefined reference to symbol ‘shm_open@@GLIBC_2.2.5‘
- 通俗易懂,先来认识一下Vuex
- 计算机网络实训室建设设备,计算机网络技术综合实训室建设方案.doc
- VirtualBox 安装 CentOS 7.6 操作记录
- 4 个拥有绝佳命令行界面的终端程序
- C++编写程序:输入三角形的三边,判断三角形的类型。
- 李开复谈软件外包及软件安全(一)
- GNS3 使用错误 ( Dynamips error when running command 'nio create_udp )
- asm source code note 1.7_switch case分支的实现
- 高拍仪、浏览器获取获取多摄像头,切换摄像头
- NeurIPS十年高引学者TOP100榜单发布!这些大牛值得膜拜!
- Android8.0快捷方式之Shortcuts
- 【Python】已知一张图片中的框图坐标,切割出目标框图(单个)
- 关于五笔字型学习五笔难拆汉字学习总结
- 嵌入式linux驱动-LCD液晶屏驱动