IPlaybackControl Interface

Définition

Fonctions dans les composants mis en file d’attente dans la gestion anormale des erreurs de lecture côté serveur et des échecs côté client du mécanisme de remise Message Queuing.

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
Attributs

Remarques

La classe d’exception définie pour le composant dans le catalogue COM+ implémente à la fois IPlaybackControl et l’interface de la classe d’origine. Les implémentations de méthode de l’interface de classe d’origine sont utilisées pour effectuer la gestion des exceptions pour les méthodes ayant échoué dans la classe elle-même. Ils seront appelés après FinalClientRetry ou FinalServerRetry pour traiter des exceptions pour la méthode initialement appelée.

Le lecteur composants mis en file d’attente appelle les méthodes permettant d’informer IPlaybackControl l’objet de gestionnaire d’exceptions qu’un message est sur le point d’être placé sur la file d’attente finale de repos ou de lettres mortes. Le Lecteur de composants mis en file d’attente appelle ensuite la même méthode dans l’objet de gestionnaire d’exceptions qui avait échoué dans l’appel de méthode d’origine. L’objet de gestionnaire d’exceptions peut implémenter une alternative, par exemple, en collectant des informations de diagnostic de problème ou en générant un objet ou un message qui informe le client du problème. Si l’application n’implémente IPlaybackControlpas, le message incohérent est placé sur la file d’attente de lettres mortes ou de repos finale lorsque le lecteur composants mis en file d’attente épuise toutes les nouvelles tentatives.

Un message incohérent est un message qui ne peut pas être traité pour une raison quelconque, peut-être en raison d’un problème avec le serveur ou le système de mise en file d’attente. La transaction est restaurée et le message incohérent passe en haut de la file d’attente. Lorsque le message est de nouveau mis en file d’attente, la même condition se produit. Ce message peut continuer à boucler indéfiniment jusqu’à ce que quelque chose soit fait pour corriger le problème. Le service Composants mis en file d’attente gère le message incohérent à l’aide d’une série de nouvelles tentatives. Après plusieurs nouvelles tentatives infructueuses, le message est déplacé vers une file d’attente de repos finale. Les messages incohérents restent dans la file d’attente de repos jusqu’à ce qu’ils soient déplacés manuellement à l’aide de l’outil Mover de messages de composants mis en file d’attente.

La situation de message incohérent peut également être résolue par programme, à l’aide de la FinalServerRetry méthode, qui informe l’auteur du composant côté serveur que toutes les tentatives de lecture de l’activation différée ont échoué.

Si vous découvrez un message incohérent, vous pourrez peut-être résoudre rapidement la cause sous-jacente du problème. Par exemple, si le serveur était hors connexion pour une raison quelconque, vous pouvez remettre le serveur en ligne. Si vous ne pouvez pas résoudre le problème rapidement, vous pouvez générer automatiquement une autre transaction qui informe le demandeur que la transaction n’a pas eu lieu. Le demandeur peut ensuite effectuer une transaction de compensation qui inverse l’effet d’une transaction qui a déjà été validée.

Méthodes

Nom Description
FinalClientRetry()

Informe le composant de gestion des exceptions côté client que toutes les tentatives de remise du message au serveur ont été rejetées et que le message s’est terminé dans la file d’attente de lettres mortes Xact côté client.

FinalServerRetry()

Informe l’implémentation de la classe d’exception côté serveur que toutes les tentatives de lecture de l’activation différée sur le serveur ont échoué et que le message est sur le point d’être déplacé vers sa file d’attente de repos finale.

S’applique à