Condividi tramite


IPlaybackControl Interfaccia

Definizione

Funzioni in Componenti in coda nella gestione anomala di errori di riproduzione lato server e di errori lato client del meccanismo di recapito Accodamento messaggi.

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
Attributi

Commenti

La classe di eccezione definita per il componente nel catalogo COM+ implementa sia IPlaybackControl l'interfaccia per la classe originale. Le implementazioni del metodo dell'interfaccia della classe originale vengono usate per eseguire la gestione delle eccezioni per i metodi non riusciti nella classe stessa. Verranno chiamati dopo FinalClientRetry o FinalServerRetry per elaborare eccezioni per il metodo originariamente denominato.

Il lettore componenti in coda chiama i metodi di IPlaybackControl per informare l'oggetto del gestore eccezioni che un messaggio sta per essere inserito nella coda finale di riposo o di lettere non recapitabili. Il lettore componenti in coda chiama quindi lo stesso metodo nell'oggetto gestore eccezioni che non è riuscito nella chiamata del metodo originale. L'oggetto gestore eccezioni può implementare un'alternativa, ad esempio, raccogliendo informazioni sulla diagnosi dei problemi o generando un oggetto o un messaggio che informa il client del problema. Se l'applicazione non implementa IPlaybackControl, il messaggio non aggiornato viene inserito nella coda finale di riposo o di lettere non recapitabili quando il lettore componenti accodati esaurisce tutti i tentativi.

Un messaggio non valido è un messaggio che non può essere elaborato per qualche motivo, forse a causa di un problema con il server o il sistema di accodamento. La transazione viene eseguito il rollback e il messaggio non elaborato passa all'inizio della coda. Quando il messaggio viene nuovamente dequeuato, si verifica la stessa condizione. Questo messaggio può continuare a eseguire il ciclo indefinito fino a quando non viene fatto qualcosa per correggere il problema. Il servizio Componenti in coda gestisce il messaggio non elaborato usando una serie di tentativi. Dopo diversi tentativi non riusciti, il messaggio viene spostato in una coda di riposo finale. I messaggi non elaborati rimangono nella coda di riposo fino a quando non vengono spostati manualmente usando lo strumento Di spostamento messaggi in coda.

La situazione del messaggio non elaborabile può essere risolta a livello di codice, usando il FinalServerRetry metodo, che informa l'autore del componente lato server che tutti i tentativi di riprodurre l'attivazione posticipata non sono riusciti.

Se si individua un messaggio non elaborabile, è possibile risolvere rapidamente la causa sottostante del problema. Ad esempio, se il server è offline per qualche motivo, è possibile ripristinare il server online. Se non è possibile risolvere rapidamente il problema, è possibile generare automaticamente un'altra transazione che notifica al richiedente che la transazione non si è verificata. Il richiedente può quindi effettuare una transazione di compensazione che inverte l'effetto di una transazione che ha già eseguito il commit.

Metodi

FinalClientRetry()

Informa il componente per la gestione delle eccezioni lato client che tutti i tentativi di Accodamento messaggi di recapitare il messaggio al server sono stati rifiutati e che il messaggio è finito nella coda messaggi non recapitabili relativi alle transazioni lato client.

FinalServerRetry()

Informa l'implementazione della classe di eccezioni lato server che tutti i tentativi di riprodurre l'attivazione rinviata sul server non sono riusciti e che il messaggio verrà spostato nella coda in sospeso finale.

Si applica a