C#-高级System.Transactions调试

是否有任何技巧,窍门或方法来获取有关System.Transactions.TransactionScope运行时行为的性能分析/记录/调试信息?

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

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

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

解决方法:

查看这篇文章: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跟踪以进一步了解事务
参考:

> http://msdn2.microsoft.com/en-us/library/ms229979.aspx
> http://msdn2.microsoft.com/en-us/library/ms678891.aspx
> http://support.microsoft.com/kb/926099/
> http://support.microsoft.com/kb/898918/

上一篇:java-Eclipse / IDEA / etc如何调试器获取有关局部变量值和监视表达式值的信息?


下一篇:在Linux上复制Visual Studio的内存冲突检测