IPlaybackControl Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Funkce v komponentách ve frontě při neobvyklém zpracování chyb přehrávání na straně serveru a selhání na straně klienta mechanismu doručování služby Řízení front zpráv.
public interface class IPlaybackControl
[System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IPlaybackControl
[<System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IPlaybackControl = interface
Public Interface IPlaybackControl
- Atributy
Poznámky
Třída výjimky definovaná pro komponentu v katalogu MODELU COM+ implementuje obě IPlaybackControl a rozhraní pro původní třídu. Implementace metody původního rozhraní třídy se používají k provedení zpracování výjimek pro neúspěšné metody v samotné třídě. Budou volány po FinalClientRetry nebo FinalServerRetry za účelem zpracování výjimek pro metodu, která byla původně volána.
Přehrávač komponent ve frontě volá metody IPlaybackControl pro informování objektu obslužné rutiny výjimky, že zpráva se chystá umístit do fronty konečného odpočinku nebo nedoručených zpráv. Queued Components Player pak volá stejnou metodu v objektu obslužné rutiny výjimky, která selhala v původním volání metody. Objekt obslužné rutiny výjimky může implementovat alternativu, například shromažďováním informací o diagnostice problému nebo generováním objektu nebo zprávy, která informuje klienta o problému. Pokud aplikace neimplementuje IPlaybackControl, jedovatá zpráva se umístí do fronty konečného odpočinku nebo nedoručených zpráv, když přehrávač komponent ve frontě vyčerpá všechny opakování.
Jedovatá zpráva je zpráva, kterou nelze z nějakého důvodu zpracovat, třeba kvůli problému se serverem nebo systémem front. Transakce se vrátí zpět a zpráva o jedu přejde na začátek fronty. Při opětovném vyřazení zprávy z fronty dojde ke stejnému stavu. Tato zpráva může pokračovat ve smyčce po neomezenou dobu, dokud se problém nevyřeší. Služba Komponenty ve frontě zpracovává zprávu o jedu pomocí řady opakovaných pokusů. Po několika neúspěšných opakováních se zpráva přesune do poslední klidové fronty. Zprávy o jedu zůstávají v klidové frontě, dokud je nepřesunou ručně pomocí nástroje Message Mover pro součásti ve frontě.
Situaci s jedovatou zprávou lze také vyřešit programově pomocí FinalServerRetry metody, která informuje autora komponenty na straně serveru, že všechny pokusy o přehrání odložené aktivace selhaly.
Pokud zjistíte zprávu o jedu, můžete být schopni rychle vyřešit základní příčinu problému. Pokud byl například server z nějakého důvodu offline, můžete ho převést zpátky do online režimu. Pokud nemůžete problém rychle vyřešit, můžete automaticky vygenerovat další transakci, která upozorní žadatele, že k transakci nedošlo. Žadatel pak může provést kompenzační transakci, která obrátí účinek transakce, která již byla potvrzena.
Metody
FinalClientRetry() |
Informuje komponentu zpracování výjimek na straně klienta, že všechny pokusy služby Řízení front zpráv o doručení zprávy na server byly odmítnuty a zpráva skončila ve frontě nedoručených dopisů Xact na straně klienta. |
FinalServerRetry() |
Informuje implementaci třídy výjimek na straně serveru, že všechny pokusy o přehrání odložené aktivace na server selhaly a zpráva bude přesunuta do poslední klidové fronty. |