2009-11-10 4 views
3

Existe-t-il des astuces, astuces ou méthodes pour obtenir des informations de profilage/consignation/débogage sur le comportement d'exécution de System.Transactions.TransactionScope?Débogage avancé de System.Transactions

J'ai une application qui engage des données à la base de données, même si j'utilise System.Transactions.TransactionScope, où une exception est levée et TransactionScope.Commit() est jamais appelé. Je me demandais s'il y avait des événements ou des détails sur les autres classes utilisées par TransactionScope que je peux interroger à l'exécution pour établir si mes commandes (adaptateurs de données typés) enrôlent la transaction ambiante ou non. Ayant regardé System.Transactions.dll en utilisant Reflector, je pense que l'espace de noms System.Transactions.Diagnostics pourrait aider, mais tous les exemples seraient très appréciés.

Répondre

3

Check-out cet article: http://blogs.msdn.com/b/madhuponduru/archive/2008/02/18/system-transactions-trace.aspx

Ajouter suivante informations à votre fichier de configuration d'application pour tracer System.Transactions appelle

<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> 

PLUS D'INFO: une fois que vous avez obtenu le fichier de trace, vous pouvez ouvrir la trace dans SvcTraceViewer.exe Vous pouvez activer la trace de transaction MSDTC, trace CM pour en savoir plus sur la transaction également Référence: 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

Créez-vous une étendue de transaction avec des paramètres?

Ce comportement est attendu pour l'option de portée de transaction de Supress.

Sinon, pourriez-vous poster du code.