Freigeben über


Erkennen einer Transaktionsanwendung

In diesem Thema wird beschrieben, wie Sie die Windows Communication Foundation (WCF)-Verwaltungs- und Diagnosefunktion verwenden, um eine Transaktionsanwendung zu behandeln.

Leistungsindikatoren

WCF stellt einen Standardsatz von Leistungsindikatoren bereit, mit denen Sie die Leistung Ihrer Transaktionsanwendung messen können. Weitere Informationen finden Sie unter Performance Counters.

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

WCF stellt Inspektionsdaten eines Diensts zur Laufzeit über einen WCF Windows Management Instrumentation (WMI)-Anbieter bereit. Weitere Informationen zu 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 Boolean Gibt an, ob das Dienstobjekt wiederverwendet wird, wenn die aktuelle Transaktion abgeschlossen wird.
TransactionAutoCompleteOnSessionClose Boolean 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 Boolean Gibt an, ob der eingehende Transaktionsfluss aktiviert ist.

In einem Vorgang weist OperationBehaviorAttribute die folgenden Eigenschaften auf:

Name Typ Beschreibung
TransactionAutoComplete Boolean Gibt an, ob die aktuelle Transaktion automatisch übermittelt werden soll, wenn keine nicht behandelten Ausnahmen auftreten.
TransactionScopeRequired Boolean 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:

  • Standardmäßige WCF-Ablaufverfolgung

    Diese Art der Ablaufverfolgung ist mit der Ablaufverfolgung einer beliebigen WCF-Anwendung identisch. Weitere Informationen finden Sie unter Configuring Tracing.

  • WS-AtomicTransaction-Ablaufverfolgung

    Die WS-AtomicTransaction-Ablaufverfolgung kann über das WS-AtomicTransaction-Konfigurationshilfsprogramm (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. Sie können die Nachrichtenprotokollierung auf die gleiche Weise wie andere WCF-Anwendungen aktivieren.

  • 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 ermöglicht auch die WCF-Ablaufverfolgung, da WCF auch die System.Transactions Infrastruktur nutzt.

Siehe auch