Dela via


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

    Nä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.

Se även