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 |
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)