TransactionScope简单用法

  记录TransactionScope简单用法,示例如下:  

 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.html

posted @ 2016-10-27 10:34  David Huang  阅读(586)  评论(0编辑  收藏  举报