【问题标题】:TransactionScope guard checkTransactionScope 保护检查
【发布时间】:2015-07-16 14:36:49
【问题描述】:

我正在处理一个几乎不存在事务的遗留项目,这会在发生错误时导致大量部分提交。 SQL 调用是原始 ADO、Linq to Entities 和 EntityFramework 的混合体,我想让这些在事务中运行。

为了解决这个问题,我正在考虑沿着 TransactionScope 路线走下去。谁能告诉我是否可以进行某种保护检查以确定方法是否是从 TransactionScope 内部运行的?使用属性或对 TransactionScope 对象本身进行某种检查。最终目标是抛出某种有意义的异常并追踪丢失交易的区域。

谢谢

【问题讨论】:

    标签: c# transactions transactionscope


    【解决方案1】:

    如果您的代码在 TransactionScope 块内运行,则为 Transaction.Current != null。您需要添加一个 using for System.Transactions 和一个对 System.Transactions.dll 的引用。

    【讨论】:

    • 希望避免额外的参考,但这对我有用:)
    猜你喜欢
    • 2016-11-02
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多