IPlaybackControl Interfaz

Definición

Funciones en componentes en cola en el control anómalo de errores de reproducción del lado servidor y errores del lado cliente del mecanismo de entrega 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
Atributos

Comentarios

La clase de excepción definida para el componente en el catálogo COM+ implementa y IPlaybackControl la interfaz de la clase original. Las implementaciones de método de la interfaz de clase original se usan para realizar el control de excepciones para los métodos con errores en la propia clase. Se llamará después FinalClientRetry o FinalServerRetry para procesar excepciones para el método al que se llamó originalmente.

El Reproductor de componentes en cola llama a los métodos de IPlaybackControl para informar al objeto de controlador de excepciones de que un mensaje está a punto de colocarse en la cola final de mensajes fallidos o en reposo. A continuación, el Reproductor de componentes en cola llama al mismo método en el objeto de controlador de excepciones que había producido un error en la llamada al método original. El objeto de controlador de excepciones puede implementar una alternativa, por ejemplo, mediante la recopilación de información de diagnóstico de problemas o la generación de un objeto o mensaje que informa al cliente del problema. Si la aplicación no implementa IPlaybackControl, el mensaje dudoso se coloca en la cola final de mensajes fallidos o en reposo cuando el Reproductor de componentes en cola agota todos los reintentos.

Un mensaje dudoso es un mensaje que no se puede procesar por algún motivo, quizás debido a un problema con el servidor o el sistema de puesta en cola. La transacción se revierte y el mensaje dudoso va a la parte superior de la cola. Cuando el mensaje se vuelve a poner en cola, se produce la misma condición. Este mensaje puede continuar bucles indefinidamente hasta que se haga algo para corregir el problema. El servicio Componentes en cola controla el mensaje dudoso mediante una serie de reintentos. Después de varios reintentos incorrectos, el mensaje se mueve a una cola de reposo final. Los mensajes dudosos permanecen en la cola de reposo hasta que se mueven manualmente mediante la herramienta Message Mover de componentes en cola.

La situación del mensaje dudoso también se puede resolver mediante programación, mediante el FinalServerRetry método , que informa al autor del componente del lado servidor que todos los intentos de reproducir la activación diferida han producido un error.

Si detecta un mensaje dudoso, es posible que pueda resolver rápidamente la causa subyacente del problema. Por ejemplo, si el servidor estaba sin conexión por algún motivo, puede volver a poner el servidor en línea. Si no puede resolver el problema rápidamente, puede generar automáticamente otra transacción que notifique al solicitante que no se produjo la transacción. Después, el solicitante puede realizar una transacción de compensación que invierte el efecto de una transacción que ya se ha confirmado.

Métodos

Nombre Description
FinalClientRetry()

Informa al componente de control de excepciones del lado cliente de que todos los intentos de Message Queuing para entregar el mensaje al servidor se rechazaron y el mensaje terminó en la cola de mensajes fallidos del lado cliente.

FinalServerRetry()

Informa a la implementación de la clase de excepción del lado servidor de que todos los intentos de reproducir la activación diferida en el servidor han producido un error y el mensaje está a punto de moverse a su cola de reposo final.

Se aplica a