欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

TransactionScope 使用的注意事项

程序员文章站 2022-03-06 23:01:27
前两天为了给代码做一些事务封装,写了个小Demo,用TransactionScope代码块实现。 第一条更新成功后第二条刻意抛出异常,结果发现第一条总执行成功,这不符合预期,于是开始一步步跟踪调试。 发现是因为我为了更新前后有个对比,更新前把数据打印出来了,查询时候打开了数据库连接,而这个连接没有关 ......

前两天为了给代码做一些事务封装,写了个小demo,用transactionscope代码块实现。

第一条更新成功后第二条刻意抛出异常,结果发现第一条总执行成功,这不符合预期,于是开始一步步跟踪调试。

发现是因为我为了更新前后有个对比,更新前把数据打印出来了,查询时候打开了数据库连接,而这个连接没有关闭,被后面的更新复用了,这就是问题所在。

transactionscope 实现事务,必须在代码块范围内打开数据库连接,这样才能保证被登记到事物里面,否则是不生效的。