Freigeben über


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 WCF-Leistungsindikatoren.

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

Dienstleistungsindikatoren

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.

Übermittelte abgewickelte Vorgänge pro Sekunde

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.

Zweifelhafte abgewickelte Vorgänge

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.

Zweifelhafte abgewickelte Vorgänge pro Sekunde

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 von einem Dienst über einen WCF Windows-Verwaltungsinstrumentation (WMI)-Anbieter verfügbar. Weitere Informationen über zum Zugriff 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

    WS-AtomicTransaction-Ablaufverfolgung kann durch Verwendung der 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

Verweis

WS-AtomicTransaction-Konfigurationsdienstprogramm (wsatConfig.exe)

Konzepte

Verwaltung und Diagnose
Konfigurieren der Ablaufverfolgung