2009-11-10 32 views
3

是否有任何提示,技巧或方法獲得有關System.Transactions.TransactionScope的運行時行爲的分析/日誌記錄/調試信息?高級System.Transactions調試

我有一個提交數據到數據庫的應用程序,即使我正在使用System.Transactions.TransactionScope,拋出了異常,並且從未調用過TransactionScope.Commit()

我想知道TransactionScope所使用的其他類是否有事件或細節,我可以在運行時查詢以確定我的命令(類型化數據適配器)是否正在徵用環境事務。

在使用Reflector查看System.Transactions.dll後,我認爲System.Transactions.Diagnostics命名空間可能會有幫助,但任何示例都將非常感謝。

回答

3

退房這篇文章: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/

0

您是否正在使用參數創建事務範圍?

對於Supress的事務範圍選項,這種行爲是可以預料的。

否則你可以發佈一些代碼。