首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET:如何在System.Transactions中禁用促销?

.NET:如何在System.Transactions中禁用促销?
EN

Stack Overflow用户
提问于 2009-10-09 08:40:25
回答 2查看 5.2K关注 0票数 8

有没有可能在不支持分布式事务的情况下使用System.Transactions编程模型?

就像这样

代码语言:javascript
复制
  TransactionConfig.DisablePromotion = true;
EN

回答 2

Stack Overflow用户

发布于 2009-10-09 09:01:41

我不认为有一个直接的方法来禁用促销。您可能需要查看导致事务升级的情况。Juval Lowy写了一个关于System.Transactions的优秀的whitepaper (也可以下载here)。他详细介绍了促销规则。

票数 3
EN

Stack Overflow用户

发布于 2013-03-19 06:14:35

我在禁用MSDTC服务的情况下使用以下代码。

代码语言:javascript
复制
var txOpts = new TransactionOptions
          {
            IsolationLevel = IsolationLevel.ReadCommitted, 
            Timeout = TimeSpan.FromMinutes(10)};

using (var tx = new TransactionScope(TransactionScopeOption.Suppress, txOpts))
{
  using (var db1 = new ObjectContext(connection1))
  {
    db1.Connection.Open();
    using (var db1tx = db1.Connection.BeginTransaction(
                                System.Data.IsolationLevel.ReadCommitted))
    {
      using (var db2 = new ObjectContext(connection2))
      {
        db2.Connection.Open();
        using (var db2tx = db2.Connection.BeginTransaction(
                          System.Data.IsolationLevel.ReadCommitted))
        {
          // do stuff

          db1.SaveChanges(false);
          db2.SaveChanges(false);

          db1tx.Commit();
          db2tx.Commit();
          tx.Complete();
        }
      }
    }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1542605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档