没有 TransactionScope 的 .NET 事务管理

发布于 2024-10-17 03:54:10 字数 176 浏览 2 评论 0原文

我在我的应用程序中积极使用 TransactionScope 并且很高兴。但现在我遇到了 TransactionScope 不够灵活的情况:首先,因为我无法动态更改 IsolationLevel。

用可以手动管理的数据库事务替换 TransactionScope 的最简单方法是什么?我想保留的功能之一是支持交叉连接交易。

I was actively using TransactionScope in my application and was happy. But now I came to the situation where TransactionScope is not enough flexible: first of all, because I can't change IsolationLevel dynamically.

What is the easiest way to replace TransactionScope by database transaction which can be managed manually? One of the features I want to keep is the support of cross-connections transactions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花开柳相依 2024-10-24 03:54:11

我认为结论是你不能这样做:既拥有分布式事务又更改隔离级别。

事务启动后,您无法更改其隔离级别。

要使用交叉连接事务,您需要使用事务范围或通过企业服务的 COM+ 事务。在这两种情况下,您都无法在创建事务后更改隔离级别。

可以使用“设置事务隔离级别”SQL 语句来更改 SQL 连接的隔离级别。

I think that the conculsion is that you cannot do this: Have both a distributed transaction and change the isolation level.

You cannot change the isolation level of a transaction after it has started.

To use cross connection transactons you need to use transaction scope, or a COM+ transaction via enterprise services. In both cases you cannot change the isolation level after the transaction is created.

It is possible to to change the isolation level of a SQL connection using the "set transaction isolation level " SQL statement.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文