Diagnozowanie aplikacji transakcyjnych
W tym temacie opisano sposób używania funkcji zarządzania i diagnostyki programu Windows Communication Foundation (WCF) do rozwiązywania problemów z aplikacją transakcyjną.
Liczniki wydajności
Program WCF udostępnia standardowy zestaw liczników wydajności do mierzenia wydajności aplikacji transakcyjnej. Aby uzyskać więcej informacji, zobacz Liczniki wydajności.
Liczniki wydajności są ograniczone do trzech różnych poziomów: usługi, punktu końcowego i operacji, zgodnie z opisem w poniższych tabelach.
Liczniki wydajności usługi
Licznik wydajności | opis |
---|---|
Przepływ transakcji | Liczba transakcji, które przepływają do operacji w tej usłudze. Ten licznik jest zwiększany za każdym razem, gdy transakcja jest obecna w komunikacie wysyłanym do usługi. |
Przepływ transakcji na sekundę | Liczba transakcji, które przepływają do operacji w tej usłudze w ciągu każdej sekundy. Ten licznik jest zwiększany za każdym razem, gdy transakcja jest obecna w komunikacie wysyłanym do usługi. |
Potwierdzone operacje transakcyjne | Liczba wykonanych operacji transakcyjnych, których transakcja została ukończona z wynikiem zatwierdzonym w tej usłudze. Praca wykonywana w ramach takich operacji jest w pełni zatwierdzona. Zasoby są aktualizowane zgodnie z pracą wykonywaną w operacji. |
Zatwierdzone operacje transakcyjne na sekundę | Liczba wykonanych operacji transakcyjnych, których transakcja została ukończona z wynikiem zatwierdzonym w tej usłudze w ciągu każdej sekundy. Praca wykonywana w ramach takich operacji jest w pełni zatwierdzona. Zasoby są aktualizowane zgodnie z pracą wykonywaną w operacji. |
Przerwane operacje transakcyjne | Liczba wykonanych operacji transakcyjnych, których transakcja została zakończona z wynikiem przerwanym w tej usłudze. Praca wykonywana w ramach takich operacji jest cofana. Zasoby są przywracane do poprzedniego stanu. |
Przerwane operacje transakcyjne na sekundę | Liczba wykonanych operacji transakcyjnych, których transakcja została zakończona z wynikiem przerwanym w tej usłudze w ciągu każdej sekundy. Praca wykonywana w ramach takich operacji jest cofana. Zasoby są przywracane do poprzedniego stanu. |
Wątpliwe operacje transakcyjne | Liczba wykonanych operacji transakcyjnych, których transakcja zakończyła się z wynikiem wątpliwości co do tej usługi. Praca wykonana z wątpliwym wynikiem jest w nieokreślonym stanie. Zasoby są przechowywane w oczekiwaniu na wynik. |
Wątpliwe operacje transakcyjne na sekundę | Liczba wykonanych operacji transakcyjnych, których transakcja zakończyła się z wynikiem wątpliwości co do tej usługi w ciągu każdej sekundy. Praca wykonana z wątpliwym wynikiem jest w nieokreślonym stanie. Zasoby są przechowywane w oczekiwaniu na wynik. |
Liczniki wydajności w punkcie końcowym
Licznik wydajności | opis |
---|---|
Przepływ transakcji | Liczba transakcji przepływanych do operacji w tym punkcie końcowym. Ten licznik jest zwiększany za każdym razem, gdy transakcja jest obecna w komunikacie wysyłanym do punktu końcowego. |
Przepływ transakcji na sekundę | Liczba transakcji przepływanych do operacji w tym punkcie końcowym w ciągu każdej sekundy. Ten licznik jest zwiększany za każdym razem, gdy transakcja jest obecna w komunikacie wysyłanym do punktu końcowego. |
Liczniki wydajności operacji
Licznik wydajności | opis |
---|---|
Przepływ transakcji | Liczba transakcji przepływanych do operacji w tym punkcie końcowym. Ten licznik jest zwiększany za każdym razem, gdy transakcja jest obecna w komunikacie wysyłanym do punktu końcowego. |
Przepływ transakcji na sekundę | Liczba transakcji przepływanych do operacji w tym punkcie końcowym w ciągu każdej sekundy. Ten licznik jest zwiększany za każdym razem, gdy transakcja jest obecna w komunikacie wysyłanym do punktu końcowego. |
Instrumentacja zarządzania Windows
Program WCF uwidacznia dane inspekcji usługi w czasie wykonywania za pośrednictwem dostawcy instrumentacji zarządzania Windows (WMI, Windows Management Instrumentation). Aby uzyskać więcej informacji na temat uzyskiwania dostępu do danych usługi WMI, zobacz Using Windows Management Instrumentation for Diagnostics (Używanie instrumentacji zarządzania Windows do diagnostyki).
Wiele właściwości WMI tylko do odczytu wskazuje zastosowane ustawienia transakcji dla usługi. W poniższych tabelach wymieniono wszystkie te ustawienia.
W usłudze mają ServiceBehaviorAttribute
następujące właściwości.
Nazwisko | Pisz | Opis |
---|---|---|
Releaseserviceinstanceontransactioncomplete | Wartość logiczna | Określa, czy obiekt usługi jest przetwarzany po zakończeniu bieżącej transakcji. |
Transactionautocompleteonsessionclose | Wartość logiczna | Określa, czy oczekujące transakcje są wykonywane po zamknięciu bieżącej sesji. |
Transactionisolationlevel | Ciąg zawierający prawidłową wartość IsolationLevel wyliczenia. | Określa poziom izolacji transakcji, który obsługuje ta usługa. |
TransactionTimeout | DateTime | Określa okres, w którym transakcja musi zostać ukończona. |
Właściwość ServiceTimeoutsBehavior
ma następującą właściwość.
Nazwisko | Pisz | Opis |
---|---|---|
TransactionTimeout | DateTime | Określa okres, w którym transakcja musi zostać ukończona. |
W powiązaniu element TransactionFlowBindingElement
ma następujące właściwości.
Nazwisko | Pisz | Opis |
---|---|---|
Transactionprotocol | Ciąg zawierający prawidłową wartość TransactionProtocol typu. | Określa protokół transakcji do użycia w przepływie transakcji. |
Transactionflow | Wartość logiczna | Określa, czy przepływ transakcji przychodzących jest włączony. |
W operacji OperationBehaviorAttribute
mają następujące właściwości:
Nazwisko | Pisz | Opis |
---|---|---|
Transactionautocomplete | Wartość logiczna | Określa, czy mają być automatycznie zatwierdzane bieżące transakcje, jeśli nie wystąpią nieobsługiwane wyjątki. |
Transactionscoperequired | Wartość logiczna | Określa, czy operacja wymaga transakcji. |
W przypadku operacji obiekt TransactionFlowAttribute
ma następujące właściwości.
Nazwisko | Pisz | Opis |
---|---|---|
TransactionFlowOption | Ciąg zawierający prawidłową wartość TransactionFlowOption wyliczenia. | Określa zakres, w jakim wymagany jest przepływ transakcji. |
Śledzenie
Ślady umożliwiają monitorowanie i analizowanie błędów w aplikacjach transakcyjnych. Śledzenie można włączyć, korzystając z następujących sposobów:
Standardowe śledzenie WCF
Ten typ śledzenia jest taki sam jak śledzenie dowolnej aplikacji WCF. Aby uzyskać więcej informacji, zobacz Konfigurowanie śledzenia.
Śledzenie WS-AtomicTransaction
Śledzenie WS-AtomicTransaction można włączyć za pomocą narzędzia do konfiguracji WS-AtomicTransaction (wsatConfig.exe). Takie śledzenie zapewnia wgląd w stan transakcji i uczestników w systemie. Aby również włączyć wewnętrzne śledzenie modelu usług, można ustawić
HKLM\SOFTWARE\Microsoft\WSAT\3.0\ServiceModelDiagnosticTracing
klucz rejestru na prawidłową wartość SourceLevels wyliczenia. Rejestrowanie komunikatów można włączyć w taki sam sposób jak inne aplikacje WCF.System.Transactions
ŚledzeniaW przypadku korzystania z protokołu OleTransactions nie można śledzić komunikatów protokołu. Śledzenie obsługuje System.Transactions infrastrukturę (która używa oletransactions) umożliwia użytkownikom wyświetlanie zdarzeń, które wystąpiły w transakcjach. Aby włączyć śledzenie aplikacji System.Transactions , dołącz następujący kod do
App.config
pliku konfiguracji.<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>
Umożliwia to również śledzenie WCF, ponieważ usługa WCF również korzysta z System.Transactions infrastruktury.