IPlaybackControl Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Funções em Componentes na Fila no tratamento anormal de erros de reprodução do lado do servidor e de falhas do lado do cliente do mecanismo de entrega do Enfileiramento de Mensagens.
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
Comentários
A classe de exceção definida para o componente no catálogo COM+ implementa e IPlaybackControl a interface para a classe original. As implementações de método da interface de classe original são usadas para executar o tratamento de exceção para os métodos com falha na própria classe. Eles serão chamados após FinalClientRetry ou FinalServerRetry para processar exceções para o método originalmente chamado.
O Player de Componentes Enfileirados chama os métodos de IPlaybackControl para informar ao objeto de manipulador de exceção que uma mensagem está prestes a ser colocada na fila de mensagens mortas ou em repouso final. O Player de Componentes Enfileirados chama o mesmo método no objeto de manipulador de exceção que falhou na chamada de método original. O objeto de manipulador de exceção pode implementar uma alternativa, por exemplo, coletando informações de diagnóstico do problema ou gerando um objeto ou mensagem que informa o cliente sobre o problema. Se o aplicativo não implementar IPlaybackControl, a mensagem suspeita será colocada na fila final de mensagens mortas ou de repouso quando o Player de Componentes Enfileirados esgotar todas as tentativas.
Uma mensagem suspeita é uma mensagem que não pode ser processada por algum motivo, talvez devido a um problema com o servidor ou o sistema de enfileiramento. A transação é revertida e a mensagem suspeita vai para o topo da fila. Quando a mensagem é removida da fila novamente, a mesma condição ocorre. Essa mensagem pode continuar em loop indefinidamente até que algo seja feito para corrigir o problema. O serviço Componentes Enfileirados manipula a mensagem suspeita usando uma série de repetições. Após várias tentativas malsucedidas, a mensagem é movida para uma fila de repouso final. Mensagens suspeitas permanecem na fila de repouso até serem movidas manualmente usando a ferramenta Migrador de Mensagens de Componentes Enfileirados.
A situação da mensagem suspeita também pode ser resolvida programaticamente, usando o FinalServerRetry método , que informa ao autor do componente do lado do servidor que todas as tentativas de reproduzir a ativação adiada falharam.
Se você descobrir uma mensagem suspeita, poderá resolver rapidamente a causa subjacente do problema. Por exemplo, se o servidor estiver offline por algum motivo, você poderá colocar o servidor novamente online. Se você não puder resolver o problema rapidamente, poderá gerar automaticamente outra transação que notifica o solicitante de que a transação não ocorreu. Em seguida, o solicitante pode fazer uma transação de compensação que reverte o efeito de uma transação que já foi confirmada.
Métodos
FinalClientRetry() |
Informa ao componente de tratamento de exceção do lado do cliente que todas as tentativas feitas pelo Enfileiramento de Mensagens de entregar a mensagem para o servidor foram rejeitadas e a mensagem ficou na fila de mensagens mortas do Xact do lado do cliente. |
FinalServerRetry() |
Informa a implementação de classe de exceção do lado do servidor que todas as tentativas de reproduzir a ativação adiada para o servidor falharam e a mensagem está prestes a ser movida para a sua fila de repouso final. |