IPlaybackControl Interfejs

Definicja

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.

Dotyczy