記錄TransactionScope簡單用法,示例以下: html
1 void Test() 2 { 3 using (TransactionScope scope = new TransactionScope()) 4 { 5 try 6 { 7 方法一(); 8 方法二(); 9 10 // 完成 11 scope.Complete(); 12 } 13 catch (Exception e) 14 { 15 記錄日誌(e); 16 } 17 finally 18 { 19 // 提交,釋放資源 20 scope.Dispose(); 21 } 22 } 23 }
問題1.此次使用的Access數據庫,報錯「提供程序不支持 ITransactionLocal 接口」。數據庫
解決方法:在鏈接字符串裏,加上"OLE DB Services=-4",做用是禁用 OLE DB 會話池和自動事務登記。反作用是在頻繁使用相同鏈接字符串打開和關閉鏈接,性能將受影響。性能
問題2.提交和回滾的原理見老A博文:http://www.cnblogs.com/artech/archive/2010/01/31/1660356.htmlspa