【问题标题】:Advanced System.Transactions debugging高级 System.Transactions 调试
【发布时间】:2009-11-10 15:16:47
【问题描述】:

是否有任何提示、技巧或方法可以获取有关System.Transactions.TransactionScope 的运行时行为的分析/日志记录/调试信息?

我有一个将数据提交到数据库的应用程序,即使我使用的是 System.Transactions.TransactionScope,其中会引发异常并且永远不会调用 TransactionScope.Commit()

我想知道是否有关于 TransactionScope 使用的其他类的事件或详细信息,我可以在运行时查询以确定我的命令(类型化数据适配器)是否正在征用环境事务。

使用 Reflector 查看了System.Transactions.dll,我认为System.Transactions.Diagnostics 命名空间可能会有所帮助,但任何示例都将不胜感激。

【问题讨论】:

    标签: c# debugging transactionscope


    【解决方案1】:

    查看这篇文章:http://blogs.msdn.com/b/madhuponduru/archive/2008/02/18/system-transactions-trace.aspx

    将以下信息添加到您的应用程序配置文件以跟踪 System.Transactions 调用

    <configuration>
     <system.diagnostics>
      <sources>
       <source name="System.Transactions" switchValue="Information">
       <listeners>
        <add name="tx" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "tx.log" />
       </listeners>
      </source>
     </sources>
    </system.diagnostics>
    

    更多信息: 获得跟踪文件后,您可以在 SvcTraceViewer.exe 中打开跟踪 您可以启用 MSDTC 事务跟踪、CM 跟踪以了解有关事务的更多信息 参考:

    【讨论】:

      【解决方案2】:

      您是否正在创建带有参数的事务范围?

      Supress 的事务范围选项会出现这种行为。

      否则你可以发布一些代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-26
        相关资源
        最近更新 更多