Compartilhar via


ISinglePhaseNotification Interface

Definição

Descreve um objeto de recurso que dá suporte à otimização de confirmação de fase única para participar de uma transação.

public interface class ISinglePhaseNotification : System::Transactions::IEnlistmentNotification
public interface ISinglePhaseNotification : System.Transactions.IEnlistmentNotification
type ISinglePhaseNotification = interface
    interface IEnlistmentNotification
Public Interface ISinglePhaseNotification
Implements IEnlistmentNotification
Implementações

Comentários

Você deve observar que, mesmo quando o gerenciador de recursos implementa essa interface para dar suporte à otimização de confirmação de fase única, não é garantido que ele receba uma confirmação de fase única. Em vez disso, o gerenciador de transações ainda pode enviar notificações de confirmação em duas fases.

Para inscrever seu gerenciador de recursos como participante de uma transação, chame o EnlistVolatile método ou o EnlistDurable método da Transaction classe . Especificamente, o EnlistmentOptions parâmetro deve ser igual a None para garantir que uma confirmação de fase única seja executada. Se for definido erroneamente como EnlistDuringPrepareRequired, nenhuma confirmação de fase única ocorrerá.

Como a ISinglePhaseNotification interface deriva da IEnlistmentNotification interface, o gerenciador de recursos também deve implementar todos os métodos deste último para notificações de confirmação de duas fases. É a escolha do gerenciador de transações saber se a confirmação de duas fases ou a otimização de confirmação de fase única são usadas com esse gerenciador de recursos. No entanto, a implementação dessa interface dá ao gerenciador de recursos a oportunidade de aproveitar a otimização quando ela estiver disponível.

Se a otimização for usada e o gerenciador de transações chamar o SinglePhaseCommit método do recurso inscrito, o gerenciador de recursos deverá responder a essa chamada usando vários métodos da classe para informar ao gerenciador de SinglePhaseEnlistment transações se a transação deve ser confirmada ou revertida.

Métodos

Commit(Enlistment)

Notifica um objeto inscrito de que uma transação está sendo confirmada.

(Herdado de IEnlistmentNotification)
InDoubt(Enlistment)

Notifica um objeto inscrito de que o status de uma transação está duvidoso.

(Herdado de IEnlistmentNotification)
Prepare(PreparingEnlistment)

Notifica um objeto inscrito de que uma transação está sendo preparada para confirmação.

(Herdado de IEnlistmentNotification)
Rollback(Enlistment)

Notifica um objeto inscrito de que uma transação está sendo revertida (anulada).

(Herdado de IEnlistmentNotification)
SinglePhaseCommit(SinglePhaseEnlistment)

Representa a implementação do gerenciador de recursos do retorno de chamada para a otimização de confirmação de fase única.

Aplica-se a

Confira também