IPlaybackControl Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Funciona en los Componentes en cola en el control anómalo de errores de reproducción del servidor y errores del mecanismo de entrega de Message Queuing del cliente.
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 de 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 del 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 bucle 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 de 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 la transacción no se produjo. A continuación, el solicitante puede realizar una transacción compensatoria que invierte el efecto de una transacción que ya se ha confirmado.
Métodos
FinalClientRetry() |
Informa al componente controlador de excepciones del cliente de que todos los intentos de Message Queuing por entregar el mensaje al servidor se han rechazado y el mensaje ha terminado en la cola de mensajes no enviados Xact del cliente. |
FinalServerRetry() |
Informa a la implementación de la clase de excepción del servidor de que todos los intentos de reproducir una activación aplazada en el servidor han sido erróneos y el mensaje se va a mover a su cola definitiva de almacenamiento. |