Diagnostisera transaktionsprogram
Det här avsnittet beskriver hur du använder hanterings- och diagnostikfunktionen för Windows Communication Foundation (WCF) för att felsöka ett transaktionsprogram.
Prestandaräknare
WCF tillhandahåller en standarduppsättning prestandaräknare för att mäta transaktionsprogrammets prestanda. Mer information finns i Prestandaräknare.
Prestandaräknare är begränsade till tre olika nivåer: tjänst, slutpunkt och åtgärd enligt beskrivningen i följande tabeller.
Prestandaräknare för tjänsten
Prestandaräknare | beskrivning |
---|---|
Transaktioner som flödat | Antalet transaktioner som flödade till åtgärder i den här tjänsten. Den här räknaren ökas varje gång en transaktion finns i meddelandet som skickas till tjänsten. |
Transaktioner som flödas per sekund | Antalet transaktioner som flödade till åtgärder i den här tjänsten inom varje sekund. Den här räknaren ökas varje gång en transaktion finns i meddelandet som skickas till tjänsten. |
Genomförda transaktioner | Antalet utförda transaktioner, vars transaktion har slutförts med utfallet i den här tjänsten. Det arbete som utförs under sådana åtgärder utförs fullt ut. Resurserna uppdateras i enlighet med det arbete som utförts i åtgärden. |
Genomförda åtgärder per sekund | Antalet utförda transaktioner, vars transaktion har slutförts med utfallet i den här tjänsten inom varje sekund. Det arbete som utförs under sådana åtgärder utförs fullt ut. Resurserna uppdateras i enlighet med det arbete som utförts i åtgärden. |
Transacted Operations avbröts | Antalet utförda transaktioner, vars transaktion har slutförts med resultatet avbrutet i den här tjänsten. Arbete som utförs under sådana åtgärder återställs. Resurserna återställs till sitt tidigare tillstånd. |
Transakterade åtgärder avbröts per sekund | Antalet utförda transaktioner, vars transaktion har slutförts med resultatet avbrutet i den här tjänsten inom varje sekund. Arbete som utförs under sådana åtgärder återställs. Resurserna återställs till sitt tidigare tillstånd. |
Transacted Operations In Doubt | Antalet utförda transaktioner, vars transaktion har slutförts med ett tveksamt resultat i den här tjänsten. Arbetet med ett osäkert resultat är i ett obestämt tillstånd. Resurser hålls i väntan på utfall. |
Övertagna åtgärder i tvivel per sekund | Antalet utförda transaktioner, vars transaktion har slutförts med ett tveksamt resultat i den här tjänsten inom varje sekund. Arbetet med ett osäkert resultat är i ett obestämt tillstånd. Resurser hålls i väntan på utfall. |
Prestandaräknare för slutpunkter
Prestandaräknare | beskrivning |
---|---|
Transaktioner som flödat | Antalet transaktioner som flödade till åtgärder vid den här slutpunkten. Den här räknaren ökas varje gång en transaktion finns i meddelandet som skickas till slutpunkten. |
Transaktioner som flödas per sekund | Antalet transaktioner som flödade till åtgärder vid den här slutpunkten inom varje sekund. Den här räknaren ökas varje gång en transaktion finns i meddelandet som skickas till slutpunkten. |
Prestandaräknare för åtgärder
Prestandaräknare | beskrivning |
---|---|
Transaktioner som flödat | Antalet transaktioner som flödade till åtgärder vid den här slutpunkten. Den här räknaren ökas varje gång en transaktion finns i meddelandet som skickas till slutpunkten. |
Transaktioner som flödas per sekund | Antalet transaktioner som flödade till åtgärder vid den här slutpunkten inom varje sekund. Den här räknaren ökas varje gång en transaktion finns i meddelandet som skickas till slutpunkten. |
Windows Management Instrumentation (WMI)
WCF exponerar inspektionsdata för en tjänst vid körning via en WMI-provider (Windows Management Instrumentation). Mer information om hur du kommer åt WMI-data finns i Använda Windows Management Instrumentation för diagnostik.
Ett antal skrivskyddade WMI-egenskaper anger de tillämpade transaktionsinställningarna för en tjänst. I följande tabeller visas alla dessa inställningar.
I en tjänst ServiceBehaviorAttribute
har följande egenskaper.
Namn | Type | Beskrivning |
---|---|---|
ReleaseServiceInstanceOnTransactionComplete | Booleskt | Anger om tjänstobjektet återvinns när den aktuella transaktionen slutförs. |
TransactionAutoCompleteOnSessionClose | Booleskt | Anger om väntande transaktioner slutförs när den aktuella sessionen stängs. |
TransactionIsolationLevel | En sträng som innehåller ett giltigt värde för IsolationLevel uppräkningen. | Anger den transaktionsisoleringsnivå som den här tjänsten stöder. |
TransactionTimeout | DateTime | Anger den period inom vilken en transaktion måste slutföras. |
Har ServiceTimeoutsBehavior
följande egenskap.
Namn | Type | Beskrivning |
---|---|---|
TransactionTimeout | DateTime | Anger den period inom vilken en transaktion måste slutföras. |
På en bindning TransactionFlowBindingElement
har följande egenskaper.
Namn | Type | Beskrivning |
---|---|---|
TransactionProtocol | En sträng som innehåller ett giltigt värde av typen TransactionProtocol . | Anger vilket transaktionsprotokoll som ska användas för att flöda en transaktion. |
TransactionFlow | Booleskt | Anger om inkommande transaktionsflöde är aktiverat. |
För en åtgärd OperationBehaviorAttribute
har följande egenskaper:
Namn | Type | Beskrivning |
---|---|---|
TransactionAutoComplete | Booleskt | Anger om den aktuella transaktionen ska checkas in automatiskt om inga ohanterade undantag inträffar. |
TransactionScopeRequired | Booleskt | Anger om åtgärden kräver en transaktion. |
För en åtgärd TransactionFlowAttribute
har följande egenskaper.
Namn | Type | Beskrivning |
---|---|---|
TransactionFlowOption | En sträng som innehåller ett giltigt värde för TransactionFlowOption uppräkningen. | Anger i vilken utsträckning transaktionsflödet krävs. |
Spårning
Med spårningar kan du övervaka och analysera fel i dina transaktionsprogram. Du kan aktivera spårning på följande sätt:
Standard-WCF-spårning
Den här typen av spårning är samma som att spåra alla WCF-program. Mer information finns i Konfigurera spårning.
WS-AtomicTransaction-spårning
WS-AtomicTransaction-spårning kan aktiveras med hjälp av konfigurationsverktyget WS-AtomicTransaction (wsatConfig.exe). Sådan spårning ger insikt i tillståndet för transaktioner och deltagare i ett system. Om du också vill aktivera intern servicemodellspårning kan du ange registernyckeln
HKLM\SOFTWARE\Microsoft\WSAT\3.0\ServiceModelDiagnosticTracing
till ett giltigt värde för SourceLevels uppräkningen. Du kan aktivera meddelandeloggning på samma sätt som andra WCF-program.System.Transactions
SpårningNär du använder OleTransactions-protokollet kan protokollmeddelanden inte spåras. Spårningsstödet som System.Transactions infrastrukturen tillhandahåller (som använder OleTransactions) gör det möjligt för användare att visa händelser som har inträffat i transaktionerna. Om du vill aktivera spårning för ett System.Transactions program inkluderar du följande kod i konfigurationsfilen
App.config
.<configuration> <system.diagnostics> <sources> <source name="System.Transactions" switchValue="Verbose, ActivityTracing"> <listeners> <add name="Text" type="System.Diagnostics.XmlWriterTraceListener" initializeData="SysTx.log" traceOutputOptions="Callstack" /> </listeners> </source> </sources> <trace autoflush="true" indentsize="4"> </trace> </system.diagnostics> </configuration>
Detta möjliggör även WCF-spårning, eftersom WCF också använder System.Transactions infrastrukturen.