Megosztás a következőn keresztül:


Tranzakciós alkalmazások diagnosztizálása

Ez a témakör azt ismerteti, hogyan használhatja a Windows Communication Foundation (WCF) felügyeleti és diagnosztikai funkcióját egy tranzakciós alkalmazás hibaelhárítására.

Teljesítményszámlálók

A WCF szabványos teljesítményszámlálókat biztosít a tranzakciós alkalmazás teljesítményének méréséhez. További információ: Teljesítményszámlálók.

A teljesítményszámlálók három különböző szintre terjednek ki: a szolgáltatásra, a végpontra és a műveletre, az alábbi táblázatokban leírtak szerint.

Szolgáltatásteljesítmény-számlálók

Teljesítményszámláló Leírás
Átfolyt tranzakciók A szolgáltatás műveleteibe áramló tranzakciók száma. Ez a számláló minden alkalommal növekszik, amikor egy tranzakció jelen van a szolgáltatásnak küldött üzenetben.
Másodpercenként lefolyt tranzakciók A szolgáltatás műveleteihez másodpercenkénti tranzakciók száma. Ez a számláló minden alkalommal növekszik, amikor egy tranzakció jelen van a szolgáltatásnak küldött üzenetben.
Tranzakciós műveletek véglegesítve Azoknak a végrehajtott tranzakcióknak a száma, amelyek tranzakciója befejeződött a szolgáltatásban lekötött eredménnyel. Az ilyen műveletek során végzett munka teljes mértékben le van kötve. Az erőforrások a művelet során elvégzett munkával összhangban frissülnek.
Másodpercenként lekötött tranzakciós műveletek Azon végrehajtott műveletek száma, amelyek tranzakciója a szolgáltatásban lekötött eredménnyel fejeződött be másodpercenként. Az ilyen műveletek során végzett munka teljes mértékben le van kötve. Az erőforrások a művelet során elvégzett munkával összhangban frissülnek.
Megszakított tranzakciós műveletek Azon végrehajtott tranzakciók száma, amelyek tranzakciója befejeződött a szolgáltatásban megszakadt eredménnyel. Az ilyen műveletek során végzett munka vissza lesz állítva. Az erőforrások visszaállnak a korábbi állapotukra.
Másodpercenként megszakított tranzakciós műveletek A végrehajtott tranzakciós műveletek száma, amelynek tranzakciója a szolgáltatásban másodpercenként megszakadt eredménnyel fejeződött be. Az ilyen műveletek során végzett munka vissza lesz állítva. Az erőforrások visszaállnak a korábbi állapotukra.
A tranzakciós műveletek kételyei Azon végrehajtott műveletek száma, amelyek tranzakciója kétséget kizáró eredménnyel zárult ebben a szolgáltatásban. A kétes kimenetelű munka határozatlan állapotban van. Az erőforrások függőben vannak.
Tranzakciós műveletek kételyben másodpercenként Az elvégzett tranzakciós műveletek száma, amelynek tranzakciója kételyekkel zárult a szolgáltatásban minden másodpercen belül. A kétes kimenetelű munka határozatlan állapotban van. Az erőforrások függőben vannak.

Végpont teljesítményszámlálói

Teljesítményszámláló Leírás
Átfolyt tranzakciók Az ezen a végponton végrehajtott műveletekbe áramló tranzakciók száma. Ez a számláló minden alkalommal növekszik, amikor egy tranzakció jelen van a végpontnak küldött üzenetben.
Másodpercenként lefolyt tranzakciók Azon tranzakciók száma, amelyek ezen a végponton minden másodpercen belül átfolytak a műveletekbe. Ez a számláló minden alkalommal növekszik, amikor egy tranzakció jelen van a végpontnak küldött üzenetben.

Műveleti teljesítményszámlálók

Teljesítményszámláló Leírás
Átfolyt tranzakciók Az ezen a végponton végrehajtott műveletekbe áramló tranzakciók száma. Ez a számláló minden alkalommal növekszik, amikor egy tranzakció jelen van a végpontnak küldött üzenetben.
Másodpercenként lefolyt tranzakciók Azon tranzakciók száma, amelyek ezen a végponton minden másodpercen belül átfolytak a műveletekbe. Ez a számláló minden alkalommal növekszik, amikor egy tranzakció jelen van a végpontnak küldött üzenetben.

Windows Management Instrumentation

A WCF futásidőben teszi elérhetővé egy szolgáltatás vizsgálati adatait egy WCF Windows Management Instrumentation (WMI) szolgáltatón keresztül. A WMI-adatok eléréséről további információt a Windows Management Instrumentation for Diagnostics használata című témakörben talál.

Számos írásvédett WMI-tulajdonság jelzi a szolgáltatás alkalmazott tranzakciós beállításait. Az alábbi táblázatok felsorolják ezeket a beállításokat.

Egy szolgáltatáson a ServiceBehaviorAttribute következő tulajdonságokat kell megadnia.

Név Típus Leírás
ReleaseServiceInstanceOnTransactionComplete Logikai Megadja, hogy a szolgáltatásobjektum újra lesz-e újrahasznosított az aktuális tranzakció befejezésekor.
TransactionAutoCompleteOnSessionClose Logikai Megadja, hogy a függőben lévő tranzakciók befejeződnek-e az aktuális munkamenet bezárásakor.
TransactionIsolationLevel Az enumerálás érvényes értékét IsolationLevel tartalmazó sztring. Megadja a szolgáltatás által támogatott tranzakcióelkülönítési szintet.
TransactionTimeout DateTime Azt az időszakot adja meg, amelyen belül egy tranzakciónak végre kell hajtania.

A ServiceTimeoutsBehavior következő tulajdonság található.

Név Típus Leírás
TransactionTimeout DateTime Azt az időszakot adja meg, amelyen belül egy tranzakciónak végre kell hajtania.

Kötésen a TransactionFlowBindingElement következő tulajdonságokat kell megadnia.

Név Típus Leírás
TransactionProtocol A típus érvényes értékét TransactionProtocol tartalmazó sztring. Megadja a tranzakció folyamatában használni kívánt tranzakcióprotokollt.
TransactionFlow Logikai Megadja, hogy engedélyezve van-e a bejövő tranzakciós folyamat.

Egy műveleten a OperationBehaviorAttribute következő tulajdonságokkal rendelkezik:

Név Típus Leírás
TransactionAutoComplete Logikai Megadja, hogy automatikusan véglegesítse-e az aktuális tranzakciót, ha nincsenek kezeletlen kivételek.
TransactionScopeRequired Logikai Megadja, hogy a művelethez tranzakció szükséges-e.

Egy műveleten a TransactionFlowAttribute következő tulajdonságokat kell megadnia.

Név Típus Leírás
TransactionFlowOption Az enumerálás érvényes értékét TransactionFlowOption tartalmazó sztring. Megadja, hogy milyen mértékben van szükség tranzakciós folyamatra.

Nyomkövetés

A nyomkövetésekkel figyelheti és elemezheti a tranzakciós alkalmazások hibáit. A nyomkövetést a következő módokon engedélyezheti:

  • Standard WCF-nyomkövetés

    Ez a nyomkövetési típus megegyezik bármely WCF-alkalmazás nyomkövetésével. További információ: Nyomkövetés konfigurálása.

  • WS-AtomicTransaction nyomkövetés

    A WS-AtomicTransaction nyomkövetés a WS-AtomicTransaction Configuration Utility (wsatConfig.exe) használatával engedélyezhető. Az ilyen nyomkövetés betekintést nyújt a rendszer tranzakcióinak és résztvevőinek állapotába. A belső szolgáltatásmodell nyomon követésének engedélyezéséhez beállíthatja a HKLM\SOFTWARE\Microsoft\WSAT\3.0\ServiceModelDiagnosticTracing beállításkulcsot az SourceLevels enumerálás érvényes értékére. Az üzenetek naplózását ugyanúgy engedélyezheti, mint más WCF-alkalmazásokat.

  • System.Transactions Nyomkövetés

    Az OleTransactions protokoll használatakor a protokollüzenetek nem követhetők nyomon. Az infrastruktúra által biztosított nyomkövetési támogatás System.Transactions (amely OleTransactions használatával) lehetővé teszi a felhasználók számára a tranzakciók során történt események megtekintését. Egy alkalmazás nyomkövetésének engedélyezéséhez System.Transactions adja meg a következő kódot a App.config konfigurációs fájlban.

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

    Ez a WCF-nyomkövetést is lehetővé teszi, mivel a WCF az infrastruktúrát System.Transactions is használja.

Lásd még