IPlaybackControl Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Funkcje w składnikach w kolejce w nietypowej obsłudze błędów odtwarzania po stronie serwera i błędów po stronie klienta mechanizmu dostarczania kolejkowania komunikatów.
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
- Atrybuty
Uwagi
Klasa wyjątku zdefiniowana dla składnika w katalogu COM+ implementuje zarówno IPlaybackControl interfejs dla oryginalnej klasy, jak i interfejs. Implementacje metody oryginalnego interfejsu klasy są używane do wykonywania obsługi wyjątków dla metod, które zakończyły się niepowodzeniem w samej klasie. Będą one wywoływane po FinalClientRetry lub FinalServerRetry przetwarzania wyjątków dla metody pierwotnie wywołanej.
Odtwarzacz składników w kolejce wywołuje metody , aby poinformować obiekt obsługi wyjątków IPlaybackControl , że komunikat ma zostać umieszczony w końcowej kolejce spoczynku lub utraconych komunikatów. Następnie odtwarzacz składników w kolejce wywołuje tę samą metodę w obiekcie obsługi wyjątków, który zakończył się niepowodzeniem w oryginalnym wywołaniu metody. Obiekt obsługi wyjątków może zaimplementować alternatywę, na przykład poprzez zebranie informacji o diagnostyce problemu lub wygenerowanie obiektu lub komunikatu informującego klienta o problemie. Jeśli aplikacja nie implementuje IPlaybackControl, komunikat trucizny jest umieszczany w końcowej kolejce spoczynku lub utraconych komunikatów, gdy odtwarzacz Składników w kolejce wyczerpa wszystkie ponawia próbę.
Komunikat o truciznzie jest komunikatem, którego nie można przetworzyć z jakiegoś powodu, być może z powodu problemu z serwerem lub systemem kolejkowania. Transakcja jest wycofywane, a komunikat trucizny przechodzi do góry kolejki. Gdy komunikat zostanie ponownie zdejmowany z kolejki, wystąpi ten sam warunek. Ten komunikat może kontynuować pętlę w nieskończoność, dopóki coś nie zostanie zrobione w celu rozwiązania problemu. Usługa Składników w kolejce obsługuje trujący komunikat przy użyciu serii ponownych prób. Po kilku nieudanych ponownych próbach komunikat jest przenoszony do końcowej kolejki spoczynku. Zatrute komunikaty pozostają w kolejce pozostałej do momentu ręcznego przeniesienia za pomocą narzędzia Mover komunikatów składników w kolejce.
Zatrucie komunikatu można również rozwiązać programowo, używając FinalServerRetry metody , która informuje autora składnika po stronie serwera, że wszystkie próby odtworzenia odroczonej aktywacji nie powiodły się.
Jeśli odkryjesz komunikat o truciznzie, możesz szybko rozwiązać podstawową przyczynę problemu. Jeśli na przykład serwer był w trybie offline z jakiegoś powodu, możesz przywrócić serwer do trybu online. Jeśli nie możesz szybko rozwiązać problemu, możesz automatycznie wygenerować inną transakcję, która powiadamia osobę żądającą o tym, że transakcja nie wystąpiła. Żądający może następnie dokonać transakcji wyrównywjącej, która odwraca efekt transakcji, która już została zatwierdzona.
Metody
FinalClientRetry() |
Informuje składnik obsługi wyjątków po stronie klienta, że wszystkie próby kolejkowania komunikatów w celu dostarczenia komunikatu do serwera zostały odrzucone, a komunikat zakończył się w kolejce Xact Dead Letter po stronie klienta. |
FinalServerRetry() |
Informuje implementację klasy wyjątków po stronie serwera, że wszystkie próby odtworzenia odroczonej aktywacji na serwerze nie powiodły się, a komunikat zostanie przeniesiony do końcowej kolejki spoczynku. |