Erkennen einer Transaktionsanwendung

Dieses Thema beschreibt die Verwendung der Verwaltungs- und Diagnosefunktionen in Windows Communication Foundation (WCF) zum Beheben von Fehlern in der Transaktionsanwendung.

Leistungsindikatoren

WCF stellt einen Standardsatz von Leistungsindikatoren bereit, damit Sie die Leistung der Transaktionsanwendung messen können. Weitere Informationen finden Sie unter Leistungsindikatoren.

Leistungsindikatoren werden in drei verschiedene Stufen unterteilt: Dienst, Endpunkt und Vorgang, gemäß folgender Tabellen.

Dienst-Leistungsindikatoren

Leistungsindikator Beschreibung
Übergegangene Transaktionen Die Anzahl der Transaktionen, die in Vorgänge in diesem Dienst übergegangen sind. Dieser Indikator wird jedes Mal gesteigert, wenn die Nachricht, die an den Dienst gesendet wird, eine Transaktion enthält.
Übergegangene Transaktionen pro Sekunde Die Anzahl der Transaktionen, die innerhalb von einer Sekunde in Vorgänge in diesem Dienst übergegangen sind. Dieser Indikator wird jedes Mal gesteigert, wenn die Nachricht, die an den Dienst gesendet wird, eine Transaktion enthält.
Übermittelte abgewickelte Vorgänge Die Anzahl der durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "übermittelt" abgeschlossen wurde. Arbeiten, die im Rahmen dieser Vorgänge ausgeführt werden, wurden komplett übermittelt. Ressourcen werden in Übereinstimmung mit der im Vorgang erledigten Arbeit aktualisiert.
Transacted Operations Committed Per Second Die Anzahl der pro Sekunde durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "übermittelt" abgeschlossen wurde. Arbeiten, die im Rahmen dieser Vorgänge ausgeführt werden, wurden komplett übermittelt. Ressourcen werden in Übereinstimmung mit der im Vorgang erledigten Arbeit aktualisiert.
Abgebrochene abgewickelte Vorgänge Die Anzahl der durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "abgebrochen" abgeschlossen wurde. Arbeiten, die im Rahmen dieser Vorgänge ausgeführt werden, werden komplett zurückgesetzt. Ressourcen werden in ihren vorherigen Zustand zurückgesetzt.
Abgebrochene abgewickelte Vorgänge pro Sekunde Die Anzahl der pro Sekunde durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "abgebrochen" abgeschlossen wurde. Arbeiten, die im Rahmen dieser Vorgänge ausgeführt werden, werden komplett zurückgesetzt. Ressourcen werden in ihren vorherigen Zustand zurückgesetzt.
Transacted Operations In Doubt Die Anzahl der durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "zweifelhaft" abgeschlossen wurde. Eine Arbeit, deren Ergebnis zweifelhaft ist, befindet sich in einem unbestimmten Zustand. Für das ausstehende Ergebnis werden Ressourcen bereitgehalten.
Transacted Operations In Doubt Per Second Die Anzahl der pro Sekunde durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "zweifelhaft" abgeschlossen wurde. Eine Arbeit, deren Ergebnis zweifelhaft ist, befindet sich in einem unbestimmten Zustand. Für das ausstehende Ergebnis werden Ressourcen bereitgehalten.

Endpunktleistungsindikatoren

Leistungsindikator Beschreibung
Übergegangene Transaktionen Die Anzahl der Transaktionen, die an diesem Endpunkt in Vorgänge übergegangen sind. Dieser Indikator wird jedes Mal gesteigert, wenn eine Nachricht, die an den Endpunkt gesendet wird, eine Transaktion enthält.
Übergegangene Transaktionen pro Sekunde Die Anzahl der Transaktionen, die innerhalb von einer Sekunde an diesem Endpunkt in Vorgänge übergegangen sind. Dieser Indikator wird jedes Mal gesteigert, wenn eine Nachricht, die an den Endpunkt gesendet wird, eine Transaktion enthält.

Vorgangsleistungsindikatoren

Leistungsindikator Beschreibung
Übergegangene Transaktionen Die Anzahl der Transaktionen, die an diesem Endpunkt in Vorgänge übergegangen sind. Dieser Indikator wird jedes Mal gesteigert, wenn eine Nachricht, die an den Endpunkt gesendet wird, eine Transaktion enthält.
Übergegangene Transaktionen pro Sekunde Die Anzahl der Transaktionen, die innerhalb von einer Sekunde an diesem Endpunkt in Vorgänge übergegangen sind. Dieser Indikator wird jedes Mal gesteigert, wenn eine Nachricht, die an den Endpunkt gesendet wird, eine Transaktion enthält.

Windows-Verwaltungsinstrumentation (Windows Management Instrumentation)

WCF macht zur Laufzeit Inspektionsdaten eines Diensts über einen Windows-Verwaltungsinstrumentation (WMI)-Anbieter von WCF verfügbar. Weitere Informationen finden Sie unter Zugreifen auf WMI-Daten finden Sie unter Verwenden der Windows-Verwaltungsinstrumentation für die Diagnose.

Einige schreibgeschützte WMI-Eigenschaften geben die angewendeten Transaktionseinstellungen für einen Dienst an. In der folgenden Tabelle sind alle diese Einstellungen aufgeführt.

In einem Dienst weist ServiceBehaviorAttribute die folgenden Eigenschaften auf.

Name Typ Beschreibung
ReleaseServiceInstanceOnTransactionComplete Boolesch Gibt an, ob das Dienstobjekt wiederverwendet wird, wenn die aktuelle Transaktion abgeschlossen wird.
TransactionAutoCompleteOnSessionClose Boolesch Gibt an, ob ausstehende Transaktionen abgeschlossen werden, wenn die aktuelle Sitzung schließt.
TransactionIsolationLevel Eine Zeichenfolge, die einen gültigen Wert der Enumeration IsolationLevel enthält. Gibt die Transaktionsisolationsstufe an, die dieser Dienst unterstützt.
TransactionTimeout DateTime Gibt den Zeitraum an, innerhalb dessen eine Transaktion abgeschlossen werden muss.

ServiceTimeoutsBehavior verfügt über die folgende Eigenschaft.

Name Typ Beschreibung
TransactionTimeout DateTime Gibt den Zeitraum an, innerhalb dessen eine Transaktion abgeschlossen werden muss.

In einer Bindung weist TransactionFlowBindingElement die folgenden Eigenschaften auf.

Name Typ Beschreibung
TransactionProtocol Eine Zeichenfolge, die einen gültigen Wert des Typs TransactionProtocol enthält. Gibt das Transaktionsprotokoll an, das beim Durchführen einer Transaktion verwendet werden sollte.
TransactionFlow- Boolesch Gibt an, ob der eingehende Transaktionsfluss aktiviert ist.

In einem Vorgang weist OperationBehaviorAttribute die folgenden Eigenschaften auf:

Name Typ Beschreibung
TransactionAutoComplete Boolesch Gibt an, ob die aktuelle Transaktion automatisch übermittelt werden soll, wenn keine nicht behandelten Ausnahmen auftreten.
TransactionScopeRequired Boolesch Gibt an, ob der Vorgang eine Transaktion erfordert.

In einem Vorgang weist TransactionFlowAttribute die folgenden Eigenschaften auf.

Name Typ Beschreibung
TransactionFlowOption Eine Zeichenfolge, die einen gültigen Wert der Enumeration TransactionFlowOption enthält. Gibt den Umfang an, in dem ein Transaktionsfluss erforderlich ist.

Ablaufverfolgung

Ablaufverfolgungen ermöglichen es, Fehler in den Transaktionsanwendungen zu überwachen und zu analysieren. Die Ablaufverfolgung kann auf verschiedene Weise aktiviert werden:

  • Standard-WCF-Ablaufverfolgung

    Dieser Typ der Ablaufverfolgung entspricht der Ablaufverfolgung in jeder beliebigen WCF-Anwendung. Weitere Informationen finden Sie unter Konfigurieren der Ablaufverfolgung.

  • WS-AtomicTransaction-Ablaufverfolgung

    Die WS-AtomicTransaction-Ablaufverfolgung kann über das WS-AtomicTransaction-Konfigurationsdienstprogramm (wsatConfig.exe) aktiviert werden. Eine derartige Ablaufverfolgung bietet einen Einblick in den Zustand der Transaktionen und Teilnehmer innerhalb eines Systems. Zum Aktivieren der Service Model-Ablaufverfolgung muss der HKLM\SOFTWARE\Microsoft\WSAT\3.0\ServiceModelDiagnosticTracing-Registrierungsschlüssel auf einen gültigen Wert der Enumeration SourceLevels festgelegt sein. Die Nachrichtenprotokollierung kann auf die gleiche Weise wie andere WCF-Anwendungen aktiviert werden.

  • System.Transactions-Ablaufverfolgung

    Bei Verwendung des OleTransactions-Protokolls können Protokollnachrichten nicht aufgezeichnet werden. Die Ablaufverfolgung, die von der System.Transactions-Infrastruktur geboten wird (die OleTransactions nutzt), ermöglicht es den Benutzern, Ereignisse, die bei den Transaktionen geschehen sind, anzusehen. Um die Ablaufverfolgung für eine System.Transactions-Anwendung zu aktivieren, integrieren Sie den folgenden Code in die Konfigurationsdatei 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>  
    

    Dies aktiviert außerdem WCF-Ablaufverfolgung, da WCF auch die System.Transactions-Infrastruktur nutzt.

Siehe auch

Verwaltung und Diagnose
Konfigurieren der Ablaufverfolgung
WS-AtomicTransaction-Konfigurationsdienstprogramm (wsatConfig.exe)