Condividi tramite


ISinglePhaseNotification Interfaccia

Definizione

Descrive un oggetto risorsa che supporta l'ottimizzazione mediante commit monofase per partecipare a una transazione.

public interface class ISinglePhaseNotification : System::Transactions::IEnlistmentNotification
public interface ISinglePhaseNotification : System.Transactions.IEnlistmentNotification
type ISinglePhaseNotification = interface
    interface IEnlistmentNotification
Public Interface ISinglePhaseNotification
Implements IEnlistmentNotification
Implementazioni

Commenti

Si noti che anche quando resource manager implementa questa interfaccia per supportare l'ottimizzazione del commit a fase singola, non è garantito che riceva un commit in una singola fase. La gestione transazioni può comunque inviare notifiche di commit in due fasi.

Per integrare resource manager come partecipante in una transazione, chiamare il EnlistVolatile metodo o il EnlistDurable metodo della Transaction classe . In particolare, il EnlistmentOptions parametro deve essere uguale a per None garantire che venga eseguito un singolo commit di fase. Se viene erroneamente impostato su EnlistDuringPrepareRequired, non viene eseguito alcun commit di una singola fase.

Poiché l'interfaccia ISinglePhaseNotification deriva dall'interfaccia IEnlistmentNotification , resource manager deve implementare anche tutti i metodi di quest'ultimo per le notifiche di commit in due fasi. È la scelta del gestore transazioni per stabilire se viene usato il commit in due fasi o l'ottimizzazione del commit a fase singola con questo gestore risorse. Tuttavia, l'implementazione di questa interfaccia offre a Resource Manager la possibilità di sfruttare l'ottimizzazione quando è disponibile.

Se viene usata l'ottimizzazione e il gestore delle transazioni chiama il SinglePhaseCommit metodo della risorsa inclusa, resource manager deve rispondere a questa chiamata usando vari metodi della SinglePhaseEnlistment classe per informare il gestore delle transazioni se è necessario eseguire il commit o il rollback della transazione.

Metodi

Commit(Enlistment)

Notifica a un oggetto inserito nell'elenco che è in corso l'esecuzione del commit di una transazione.

(Ereditato da IEnlistmentNotification)
InDoubt(Enlistment)

Notifica a un oggetto inserito nell'elenco che lo stato di una transazione è in dubbio.

(Ereditato da IEnlistmentNotification)
Prepare(PreparingEnlistment)

Notifica a un oggetto inserito nell'elenco che è in corso la preparazione di una transazione per il commit.

(Ereditato da IEnlistmentNotification)
Rollback(Enlistment)

Notifica a un oggetto inserito nell'elenco che è in corso l'esecuzione del rollback (interruzione) di una transazione.

(Ereditato da IEnlistmentNotification)
SinglePhaseCommit(SinglePhaseEnlistment)

Rappresenta l'implementazione del callback del gestore delle risorse per l'ottimizzazione del commit a una fase.

Si applica a

Vedi anche