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ésAz 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.