自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深入講解ADO.NET事務(wù)處理方法

開發(fā) 后端
這里就ADO.NET事務(wù)處理方法:手工ADO.NET事務(wù)、自動ADO.NET事務(wù)兩種方法做出了詳細的分析,希望大家通過讀本文更進一步的了解處理事物。

ADO.NET經(jīng)過長時間的發(fā)展,很多用戶都很了解ADO.NET了,這里我發(fā)表一下個人理解,和大家討論討論。我們先來分析一下連接池的概念吧,然后在具體的人系事務(wù)處理的方法。創(chuàng)建:OLE DB .NET 數(shù)據(jù)提供程序使用 OLE DB 會話池來自動管理連接池,當(dāng)連接打開時,將根據(jù)一種精確的匹配算法來創(chuàng)建連接池,該算法會使連接池與連接中的字符串相關(guān)聯(lián)。每個連接池都與一個不同的連接字符串相關(guān)聯(lián)。當(dāng)新連接打開時,如果連接字符串不精確匹配現(xiàn)有池,則將創(chuàng)建一個新池。連接池是為每個唯一的連接字符串創(chuàng)建的。當(dāng)創(chuàng)建一個池后,將創(chuàng)建多個連接對象并將其添加到該池中,以滿足最小池大小的要求。連接將根據(jù)需要添加到池中,直至達到***池大小。

#T#移除:如果連接生存期已過或者池管理程序檢測到與服務(wù)器的連接已被斷開,則對象池管理程序?qū)某刂幸瞥撨B接。請注意,只有在嘗試與服務(wù)器進行通訊后,才可以檢測到這種情況。如果發(fā)現(xiàn)某連接不再連接到服務(wù)器,則會將其標(biāo)記為無效。對象池管理程序會定期掃描連接池,以查找已被釋放到池中并標(biāo)記為無效的對象。找到后,這些連接將被***移除。在編程過程中盡可能短的時間使用連接,要及時的關(guān)閉連接。關(guān)閉連接后,自動放入連接池。PB必須手工實現(xiàn)事務(wù)處理,如回滾等。

ADO.NET事務(wù)處理方法

1.手工ADO.NET事務(wù):用SqlConnection.BeginTransaction 方法來啟動事務(wù),返回關(guān)聯(lián)的SqlTransaction 對象。將事務(wù)對象關(guān)聯(lián)到參與事務(wù)的命令上,用SqlTtansaction.Commit 方法提交事務(wù)SqlTransaction.Rollback 方法來回滾事務(wù)。此過程與PB相同。

2.自動ADO.NET事務(wù):自動事務(wù)是COM+ 提供的一個服務(wù),如果要使用此服務(wù),類需要遵從:
◆必須直接或間接從SystemEnterpriseServicedComponent派生。
◆將 TransactionAttribute 應(yīng)用此類來控制類的事務(wù)行為。
◆使用強名稱為組件簽名。
◆將[AutoComplete] 特性(屬性信息)應(yīng)用于類中的方法。如果含有[AutoComplete] 特性的方法調(diào)用完成而沒有錯誤,則事務(wù)被提交,否則被回滾。

測試過程記錄:

開始用時c#做自動事務(wù)測試實例,在使用強名為組件簽名時,編譯時出現(xiàn)“重復(fù)屬性[assembly: AssemblyKeyFile("f:\\complusexample1.snk")]”錯誤。用vb.net 做測試實例,一切正常。
仔細研究C# 發(fā)現(xiàn)工程中自己生成的文件:AssemblyInfo.cs中已經(jīng)包含[assembly: AssemblyKeyFile("")]條目,把此條目改為:[assembly: AssemblyKeyFile("f:\\complusexample1.snk")],同時,去掉在ComPlusExample1 中的對應(yīng)屬性信息。

  1. using System;  
  2. using System.EnterpriseServices ;  
  3. using System.Reflection ;    
  4. ///[assembly: AssemblyKeyFile("f:\\complusexample1.snk")](此部件屬性信息要放到AssemblyInfo.cs文件中。)  
  5.  [assembly:ApplicationName("ComPlusExample1")]  
  6. namespace ComPlusExample1  
  7. {     
  8. [Transaction(TransactionOption.Required )]  
  9. public class ComPlusExample1 : ServicedComponent  
  10. {  
  11. public ComPlusExample1():base()  
  12. {      
  13. }     
  14. {  
  15. return "my god!";       
  16. }     
  17. }  
  18. }  
責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2010-01-04 13:06:50

ADO.NET事務(wù)

2009-11-13 17:01:07

ADO.NET事務(wù)處理

2009-11-11 09:31:44

ADO.NET事務(wù)處理

2009-12-30 16:50:26

ADO.NET事務(wù)

2010-01-13 14:13:24

VB.NET事務(wù)處理

2009-11-03 17:46:50

ADO.NET Sel

2009-07-15 17:41:55

iBATIS事務(wù)處理

2011-04-27 15:55:16

2009-07-09 18:15:42

JDBC事務(wù)處理

2009-09-14 19:55:03

LINQ事務(wù)處理

2010-01-11 17:12:12

VB.NET事務(wù)處理

2009-11-04 08:38:30

ADO.NET庫文件

2009-11-03 15:24:14

ADO.NET對象模型

2010-01-07 18:05:18

VB.NET事務(wù)處理

2009-11-04 13:20:28

ADO.NET Dat

2009-11-12 14:26:34

ADO.NET執(zhí)行事務(wù)

2009-11-04 12:45:33

ADO.NET Dat

2014-01-22 13:37:53

2010-04-13 15:44:00

Oracle與SqlS

2009-12-31 14:46:29

ADO.NET Ent
點贊
收藏

51CTO技術(shù)棧公眾號