IPlaybackControl Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Funktionen in in der Warteschlange enthaltene Komponenten bei der abnormen Behandlung von serverseitigen Wiedergabefehlern und clientseitigen Fehlern des Message Queuing-Zustellungsmechanismus.
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
- Attribute
Hinweise
Die für die Komponente im COM+-Katalog definierte Ausnahmeklasse implementiert sowohl die IPlaybackControl Schnittstelle für die ursprüngliche Klasse. Die Methodenimplementierungen der ursprünglichen Klassenschnittstelle werden verwendet, um die Ausnahmebehandlung für die fehlgeschlagenen Methoden in der Klasse selbst auszuführen. Sie werden nach FinalClientRetry oder FinalServerRetry zum Verarbeiten von Ausnahmen für die ursprünglich aufgerufene Methode aufgerufen.
Der Player für komponenten in der Warteschlange ruft die Methoden IPlaybackControl auf, um das Ausnahmehandlerobjekt darüber zu informieren, dass eine Nachricht in die letzte ruhende oder inaktive Warteschlange eingefügt werden soll. Der Player für in die Warteschlange eingereihte Komponenten ruft dann dieselbe Methode im Ausnahmehandlerobjekt auf, das im ursprünglichen Methodenaufruf fehlgeschlagen war. Das Ausnahmehandlerobjekt kann beispielsweise eine Alternative implementieren, indem Problemdiagnoseinformationen gesammelt oder ein Objekt oder eine Nachricht generiert werden, die den Client über das Problem informiert. Wenn die Anwendung nicht implementiert IPlaybackControlwird, wird die Giftnachricht in die letzte ruhende oder inaktive Warteschlange gesetzt, wenn der Queued Components Player alle Wiederholungen aussetzt.
Eine Giftnachricht ist eine Nachricht, die aus irgendeinem Grund nicht verarbeitet werden kann, vielleicht aufgrund eines Problems mit dem Server- oder Warteschlangensystem. Die Transaktion wird zurückgesetzt, und die Giftnachricht geht an den Anfang der Warteschlange. Wenn die Nachricht erneut abgequeuiert wird, tritt die gleiche Bedingung auf. Diese Nachricht kann unbegrenzt weiter ausgeführt werden, bis etwas getan wird, um das Problem zu beheben. Der Dienst für in die Warteschlange eingereihte Komponenten verarbeitet die Giftnachricht mithilfe einer Reihe von Wiederholungen. Nach mehreren nicht erfolgreichen Wiederholungen wird die Nachricht in eine letzte ruhende Warteschlange verschoben. Giftnachrichten verbleiben in der ruhenden Warteschlange, bis sie manuell mithilfe des Tools zum Verschieben von Nachrichten in der Warteschlange verschoben werden.
Die Giftnachrichtensituation kann auch programmgesteuert behoben werden, indem die FinalServerRetry Methode verwendet wird, die den serverseitigen Komponentenautor informiert, dass alle Versuche, die verzögerte Aktivierung wiederzugeben, fehlgeschlagen sind.
Wenn Sie eine Giftnachricht entdecken, können Sie die zugrunde liegende Ursache des Problems schnell lösen. Wenn der Server beispielsweise aus irgendeinem Grund offline war, können Sie den Server wieder online schalten. Wenn Sie das Problem nicht schnell lösen können, können Sie automatisch eine weitere Transaktion generieren, die den Anforderer benachrichtigt, dass die Transaktion nicht aufgetreten ist. Der Anforderer kann dann eine Ausgleichstransaktion vornehmen, die die Auswirkung einer bereits zugesicherten Transaktion umkehrt.
Methoden
| Name | Beschreibung |
|---|---|
| FinalClientRetry() |
Informiert die clientseitige Ausnahmebehandlungskomponente, dass alle Message Queuing-Versuche, die Nachricht an den Server zu übermitteln, abgelehnt wurden und die Nachricht in der clientseitigen Xact Dead Letter-Warteschlange endete. |
| FinalServerRetry() |
Informiert die serverseitige Ausnahmeklassenimplementierung, dass alle Versuche, die verzögerte Aktivierung auf dem Server zurückzugeben, fehlgeschlagen sind, und die Nachricht ist im Begriff, in die endgültige Ruhewarteschlange verschoben zu werden. |