Udostępnij za pośrednictwem


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 Śledzenia

    W 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.

Zobacz też