代码之家  ›  专栏  ›  技术社区  ›  Budda

调试过程中如何处理事务处理范围?

  •  4
  • Budda  · 技术社区  · 14 年前

    我有一个由ASP.NET网站托管的WebService。TransactionScope对象内部用于处理事务:

            using (TransactionScope scope = new TransactionScope())
            {
                ...
                scope.Complete();
            }
    

    问题是,在调试过程中,当我以分步模式遍历每一行时, 发生事务超时,任何访问数据库的尝试都因“”错误而崩溃,因此:禁止进一步调试。

    我如何在不删除上述代码行的情况下处理它呢?

    我试过寻找,如何增加创建事务的超时时间,但没有找到有用的东西。

    任何想法都是受欢迎的。

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  3
  •   DavidGouge    14 年前

    作为构造函数的一部分,您可以通过传入零长度的TimeSpan来指定事务的无限超时:

    using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0)))
    

    Required的TransactionScopeOption被用作无参数构造函数的默认值。

    http://msdn.microsoft.com/en-us/library/ms172152(VS.90).aspx 更多信息。