Erkennen einer TransaktionsanwendungDiagnosing Transactional Applications

In diesem Thema wird beschrieben, wie die Windows Communication Foundation (WCF)-Verwaltungs- und Diagnosefunktion transaktionsanwendung mit.This topic describes how to use the Windows Communication Foundation (WCF) management and diagnostics feature to troubleshoot a transactional application.

LeistungsindikatorenPerformance Counters

WCF bietet einen Standardsatz von Leistungsindikatoren für die Leistung der transaktionsanwendung messen.WCF provides a standard set of performance counters for you to measure your transactional application's performance. Weitere Informationen finden Sie unter Leistungsindikatoren.For more information, see Performance Counters.

Leistungsindikatoren werden in drei verschiedene Stufen unterteilt: Dienst, Endpunkt und Vorgang, gemäß folgender Tabellen.Performance counters are scoped to three different levels: service, endpoint, and operation, as described in the following tables.

Dienst-LeistungsindikatorenService Performance Counters

LeistungsindikatorPerformance counter BeschreibungDescription
Übergegangene TransaktionenTransactions Flowed Die Anzahl der Transaktionen, die in Vorgänge in diesem Dienst übergegangen sind.The number of transactions that flowed to operations in this service. Dieser Indikator wird jedes Mal gesteigert, wenn die Nachricht, die an den Dienst gesendet wird, eine Transaktion enthält.This counter is incremented any time a transaction is present in the message that is sent to the service.
Übergegangene Transaktionen pro SekundeTransactions Flowed Per Second Die Anzahl der Transaktionen, die innerhalb von einer Sekunde in Vorgänge in diesem Dienst übergegangen sind.The number of transactions that flowed to operations in this service within each second. Dieser Indikator wird jedes Mal gesteigert, wenn die Nachricht, die an den Dienst gesendet wird, eine Transaktion enthält.This counter is incremented any time a transaction is present in the message that is sent to the service.
Übermittelte abgewickelte VorgängeTransacted Operations Committed Die Anzahl der durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "übermittelt" abgeschlossen wurde.The number of transacted operations performed, whose transaction has completed with the outcome committed in this service. Arbeiten, die im Rahmen dieser Vorgänge ausgeführt werden, wurden komplett übermittelt.Work done under such operations is fully committed. Ressourcen werden in Übereinstimmung mit der im Vorgang erledigten Arbeit aktualisiert.Resources are updated in accordance with the work done in the operation.
Transacted Operations Committed Per SecondTransacted Operations Committed Per Second Die Anzahl der pro Sekunde durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "übermittelt" abgeschlossen wurde.The number of transacted operations performed, whose transaction has completed with the outcome committed in this service within each second. Arbeiten, die im Rahmen dieser Vorgänge ausgeführt werden, wurden komplett übermittelt.Work done under such operations is fully committed. Ressourcen werden in Übereinstimmung mit der im Vorgang erledigten Arbeit aktualisiert.Resources are updated in accordance with the work done in the operation.
Abgebrochene abgewickelte VorgängeTransacted Operations Aborted Die Anzahl der durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "abgebrochen" abgeschlossen wurde.The number of transacted operations performed, whose transaction has completed with the outcome aborted in this service. Arbeiten, die im Rahmen dieser Vorgänge ausgeführt werden, werden komplett zurückgesetzt.Work done under such operations is rolled back. Ressourcen werden in ihren vorherigen Zustand zurückgesetzt.Resources are reverted to their previous state.
Abgebrochene abgewickelte Vorgänge pro SekundeTransacted Operations Aborted Per Second Die Anzahl der pro Sekunde durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "abgebrochen" abgeschlossen wurde.The number of transacted operations performed, whose transaction has completed with the outcome aborted in this service within each second. Arbeiten, die im Rahmen dieser Vorgänge ausgeführt werden, werden komplett zurückgesetzt.Work done under such operations is rolled back. Ressourcen werden in ihren vorherigen Zustand zurückgesetzt.Resources are reverted to their previous state.
Transacted Operations In DoubtTransacted Operations In Doubt Die Anzahl der durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "zweifelhaft" abgeschlossen wurde.The number of transacted operations performed, whose transaction has completed with an outcome in doubt in this service. Eine Arbeit, deren Ergebnis zweifelhaft ist, befindet sich in einem unbestimmten Zustand.Work done with an outcome in doubt is in an indeterminate state. Für das ausstehende Ergebnis werden Ressourcen bereitgehalten.Resources are held pending outcome.
Transacted Operations In Doubt Per SecondTransacted Operations In Doubt Per Second Die Anzahl der pro Sekunde durchgeführten abgewickelten Vorgänge, deren Transaktion mit dem Ergebnis "zweifelhaft" abgeschlossen wurde.The number of transacted operations performed, whose transaction has completed with an outcome in doubt in this service within each second. Eine Arbeit, deren Ergebnis zweifelhaft ist, befindet sich in einem unbestimmten Zustand.Work done with an outcome in doubt is in an indeterminate state. Für das ausstehende Ergebnis werden Ressourcen bereitgehalten.Resources are held pending outcome.

EndpunktleistungsindikatorenEndpoint Performance Counters

LeistungsindikatorPerformance counter BeschreibungDescription
Übergegangene TransaktionenTransactions Flowed Die Anzahl der Transaktionen, die an diesem Endpunkt in Vorgänge übergegangen sind.The number of transactions that flowed to operations at this endpoint. Dieser Indikator wird jedes Mal gesteigert, wenn eine Nachricht, die an den Endpunkt gesendet wird, eine Transaktion enthält.This counter is incremented any time a transaction is present in the message that is sent to the endpoint.
Übergegangene Transaktionen pro SekundeTransactions Flowed Per Second Die Anzahl der Transaktionen, die innerhalb von einer Sekunde an diesem Endpunkt in Vorgänge übergegangen sind.The number of transactions that flowed to operations at this endpoint within each second. Dieser Indikator wird jedes Mal gesteigert, wenn eine Nachricht, die an den Endpunkt gesendet wird, eine Transaktion enthält.This counter is incremented any time a transaction is present in the message that is sent to the endpoint.

VorgangsleistungsindikatorenOperation Performance Counters

LeistungsindikatorPerformance counter BeschreibungDescription
Übergegangene TransaktionenTransactions Flowed Die Anzahl der Transaktionen, die an diesem Endpunkt in Vorgänge übergegangen sind.The number of transactions that flowed to operations at this endpoint. Dieser Indikator wird jedes Mal gesteigert, wenn eine Nachricht, die an den Endpunkt gesendet wird, eine Transaktion enthält.This counter is incremented any time a transaction is present in the message that is sent to the endpoint.
Übergegangene Transaktionen pro SekundeTransactions Flowed Per Second Die Anzahl der Transaktionen, die innerhalb von einer Sekunde an diesem Endpunkt in Vorgänge übergegangen sind.The number of transactions that flowed to operations at this endpoint within each second. Dieser Indikator wird jedes Mal gesteigert, wenn eine Nachricht, die an den Endpunkt gesendet wird, eine Transaktion enthält.This counter is incremented any time a transaction is present in the message that is sent to the endpoint.

Windows-Verwaltungsinstrumentierung (Windows Management Instrumentation)Windows Management Instrumentation

WCF macht inspektionsdaten eines Diensts zur Laufzeit über einen WCF (Windows Management Instrumentation, WMI)-Anbieter verfügbar.WCF exposes inspection data of a service at run time through a WCF Windows Management Instrumentation (WMI) provider. Weitere Informationen zum Zugreifen auf WMI-Daten finden Sie unter mithilfe von Windows-Verwaltungsinstrumentation für die Diagnose.For more information about accessing WMI data, see Using Windows Management Instrumentation for Diagnostics.

Einige schreibgeschützte WMI-Eigenschaften geben die angewendeten Transaktionseinstellungen für einen Dienst an.A number of read-only WMI properties indicate the applied transaction settings for a service. In der folgenden Tabelle sind alle diese Einstellungen aufgeführt.The following tables list all of these settings.

In einem Dienst weist ServiceBehaviorAttribute die folgenden Eigenschaften auf.On a service, the ServiceBehaviorAttribute has the following properties.

NameName TypType BeschreibungDescription
ReleaseServiceInstanceOnTransactionCompleteReleaseServiceInstanceOnTransactionComplete BooleschBoolean Gibt an, ob das Dienstobjekt wiederverwendet wird, wenn die aktuelle Transaktion abgeschlossen wird.Specifies whether the service object is recycled when the current transaction completes.
TransactionAutoCompleteOnSessionCloseTransactionAutoCompleteOnSessionClose BooleschBoolean Gibt an, ob ausstehende Transaktionen abgeschlossen werden, wenn die aktuelle Sitzung schließt.Specifies whether pending transactions are completed when the current session closes.
TransactionIsolationLevelTransactionIsolationLevel Eine Zeichenfolge, die einen gültigen Wert der Enumeration IsolationLevel enthält.A string that contains a valid value of the IsolationLevel enumeration. Gibt die Transaktionsisolationsstufe an, die dieser Dienst unterstützt.Specifies the transaction isolation level that this service supports.
TransactionTimeoutTransactionTimeout DateTime Gibt den Zeitraum an, innerhalb dessen eine Transaktion abgeschlossen werden muss.Specifies the period within which a transaction must complete.

ServiceTimeoutsBehavior verfügt über die folgende Eigenschaft.The ServiceTimeoutsBehavior has the following property.

NameName TypType BeschreibungDescription
TransactionTimeoutTransactionTimeout DateTime Gibt den Zeitraum an, innerhalb dessen eine Transaktion abgeschlossen werden muss.Specifies the period within which a transaction must complete.

In einer Bindung weist TransactionFlowBindingElement die folgenden Eigenschaften auf.On a binding, the TransactionFlowBindingElement has the following properties.

NameName TypType BeschreibungDescription
TransactionProtocolTransactionProtocol Eine Zeichenfolge, die einen gültigen Wert des Typs TransactionProtocol enthält.A string that contains a valid value of the TransactionProtocol type. Gibt das Transaktionsprotokoll an, das beim Durchführen einer Transaktion verwendet werden sollte.Specifies the transaction protocol to use in flowing a transaction.
TransactionFlow-TransactionFlow BooleschBoolean Gibt an, ob der eingehende Transaktionsfluss aktiviert ist.Specifies whether incoming transaction flow is enabled.

In einem Vorgang weist OperationBehaviorAttribute die folgenden Eigenschaften auf:On an operation, the OperationBehaviorAttribute has the following properties:

NameName TypType BeschreibungDescription
TransactionAutoCompleteTransactionAutoComplete BooleschBoolean Gibt an, ob die aktuelle Transaktion automatisch übermittelt werden soll, wenn keine nicht behandelten Ausnahmen auftreten.Specifies whether to automatically commit the current transaction if no unhandled exceptions occur.
TransactionScopeRequiredTransactionScopeRequired BooleschBoolean Gibt an, ob der Vorgang eine Transaktion erfordert.Specifies whether the operation requires a transaction.

In einem Vorgang weist TransactionFlowAttribute die folgenden Eigenschaften auf.On an operation, the TransactionFlowAttribute has the following properties.

NameName TypType BeschreibungDescription
TransactionFlowOptionTransactionFlowOption Eine Zeichenfolge, die einen gültigen Wert der Enumeration TransactionFlowOption enthält.A string that contains a valid value of the TransactionFlowOption enumeration. Gibt den Umfang an, in dem ein Transaktionsfluss erforderlich ist.Specifies the extent to which transaction flow is required.

AblaufverfolgungTracing

Ablaufverfolgungen ermöglichen es, Fehler in den Transaktionsanwendungen zu überwachen und zu analysieren.Traces enable you to monitor and analyze faults in your transactional applications. Die Ablaufverfolgung kann auf verschiedene Weise aktiviert werden:You can enable tracing using the following ways:

  • Standard-WCF-AblaufverfolgungStandard WCF tracing

    Dieser Typ der Ablaufverfolgung ist identisch mit der Ablaufverfolgung für alle WCF-Anwendung.This type of tracing is the same as tracing any WCF application. Weitere Informationen finden Sie unter Configuring Tracing.For more information, see Configuring Tracing.

  • WS-AtomicTransaction-AblaufverfolgungWS-AtomicTransaction tracing

    WS-AtomicTransaction-Ablaufverfolgung kann aktiviert werden, mithilfe der WS-AtomicTransaction-Konfigurationsdienstprogramm (wsatConfig.exe).WS-AtomicTransaction tracing can be enabled by using the WS-AtomicTransaction Configuration Utility (wsatConfig.exe). Eine derartige Ablaufverfolgung bietet einen Einblick in den Zustand der Transaktionen und Teilnehmer innerhalb eines Systems.Such tracing provides insight into the state of transactions and participants within a system. 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.To also enable internal Service Model tracing, you can set the HKLM\SOFTWARE\Microsoft\WSAT\3.0\ServiceModelDiagnosticTracing registry key to a valid value of the SourceLevels enumeration. Sie können die nachrichtenprotokollierung auf die gleiche Weise wie andere WCF-Anwendungen aktivieren.You can enable message logging in the same way as other WCF applications.

  • System.Transactions-AblaufverfolgungSystem.Transactions tracing

    Bei Verwendung des OleTransactions-Protokolls können Protokollnachrichten nicht aufgezeichnet werden.When using the OleTransactions protocol, protocol messages cannot be traced. 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.The tracing support the System.Transactions infrastructure provides (which uses OleTransactions) allows users to view events that occurred to the transactions. Um die Ablaufverfolgung für eine System.Transactions-Anwendung zu aktivieren, integrieren Sie den folgenden Code in die Konfigurationsdatei App.config.To enable tracing for a System.Transactions application, include the following code in the App.config configuration file.

    <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 die WCF-Ablaufverfolgung als auch WCF nutzt die System.Transactions Infrastruktur.This also enables WCF tracing, as WCF also utilizes the System.Transactions infrastructure.

Siehe auchSee Also

Verwaltung und DiagnoseAdministration and Diagnostics
Konfigurieren der AblaufverfolgungConfiguring Tracing
WS-AtomicTransaction-Konfigurationshilfsprogramm (wsatConfig.exe)WS-AtomicTransaction Configuration Utility (wsatConfig.exe)