日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在组件之间实现事务和异步提交事务(NET2.0)

發布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在组件之间实现事务和异步提交事务(NET2.0) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假設要Insert1個用戶和該用戶對應角色,而這2個Insert方法已經封裝到2個dll中了,現在要在這個2個方法中實現事務,代碼很簡單,如下(需先添加對System.Transactions程序集的引用)

?1public?void?Insert(string?UserName,ArrayList?alRoles)
?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}

異步提交事務的代碼也很簡單:

?1????????public?void?Work()
?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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 青青草黄色 | 99久久精品国产成人一区二区 | 黑人干日本少妇 | 黑人3p波多野结衣在线观看 | 中文字幕乱码无码人妻系列蜜桃 | 亚洲色图狠狠干 | 国产女主播一区二区 | 黄色三级三级 | 影音先锋成人资源站 | www.狠狠 | 黄色小视频免费网站 | 无码人妻丰满熟妇奶水区码 | 少妇的性事hd | 日韩精品一区二区三区中文字幕 | 五月天天色| 蜜臀久久精品久久久用户群体 | 亚洲伦理一区二区三区 | 国产成人一区二区三区视频 | 丁香一区二区 | hs网站在线观看 | 欧美日韩中字 | 日本亚洲综合 | 成人看片在线观看 | 国产av日韩一区二区三区精品 | 成人免费毛片男人用品 | 免费在线国产精品 | 国内精久久久久久久久久人 | 国产午夜福利视频在线观看 | 都市激情 亚洲 | 亚洲自拍偷拍第一页 | 久久7777| 亚洲无码精品在线播放 | 韩国三级在线看 | 国产免费一区二区视频 | 69福利社区 | 嫩草午夜少妇在线影视 | 96免费视频 | 香蕉毛片 | 日本性爱动漫 | 岳狂躁岳丰满少妇大叫 | 99久久免费国产精精品 | 国产又大又粗又爽 | 成人欧美一区二区三区白人 | 久久久一区二区三区 | 日韩精品一区二区三区视频在线观看 | 亚洲精品自拍视频 | 天天看夜夜操 | 99思思 | 国产永久免费视频 | 伊人免费在线观看 | 91免费观看网站 | 色综合天天综合综合国产 | 大胸美女无遮挡 | 国产成人a人亚洲精品无码 在线aa | 男女啪啪资源 | 婷婷久久丁香 | 强迫凌虐淫辱の牝奴在线观看 | 国产欧美熟妇另类久久久 | 国产在线观看免费高清 | 麻豆成人免费 | 亚洲日本国产精品 | 欧美激情不卡 | jizz亚洲女人 | 日本美女性爱视频 | 久久久成| 久久久69 | 日韩av毛片| 人人艹在线观看 | 夜夜免费视频 | 热re99久久精品国产99热 | 成人黄色免费网 | 亚洲欧美bt| 亚洲精品女人久久久 | 婷婷天堂| 韩国明星乱淫(高h)小说 | 韩国三级在线视频 | 伊人色播 | 亚洲一区欧美激情 | 国产精品香蕉 | 猎艳山村丰满少妇 | 中文字幕一区二区三区门四区五区 | 超碰操 | 色综合中文网 | 日韩制服诱惑 | 免费日批网站 | av资源库| 精品日本一区二区三区在线观看 | 美女扒开尿口让男人桶 | 亚洲精品国产精品乱码在线观看 | 一级高清视频 | 在线成人观看 | 国产亚洲久一区二区 | 欧美日韩123区 | av无码av天天av天天爽 | av短片| 91日日| www.自拍偷拍 | 欧美性猛交乱大交 | 先锋影音av在线资源 |