EnlistmentOptions Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Determina se o objeto deve ser recrutado durante a fase de preparação.
Esta enumeração suporta uma combinação bit-a-bit dos respetivos valores membro.
public enum class EnlistmentOptions
[System.Flags]
public enum EnlistmentOptions
[<System.Flags>]
type EnlistmentOptions =
Public Enum EnlistmentOptions
- Herança
- Atributos
Campos
| Name | Valor | Description |
|---|---|---|
| None | 0 | O objeto não requer alistamento durante a fase inicial do processo de compromisso. |
| EnlistDuringPrepareRequired | 1 | O objeto deve alistar-se durante a fase inicial do processo de compromisso. |
Observações
Esta enumeração é encaminhada para os EnlistVolatile métodos e EnlistDurable e para notificar o gestor de transações se este precisa de criar outro alistamento durante a fase de Preparação. Para mais informações sobre o alistamento, consulte Recrutamento de Recursos como Participantes numa Transação.
Se EnlistDuringPrepareRequired for especificado durante o alistamento, o gestor de recursos indica que quer receber uma notificação de Prepare enquanto novos alistamentos ainda forem permitidos para a transação. Um gestor de recursos que atue como cache para outro recurso duradouro, como uma base de dados backend, provavelmente usaria esta opção durante o alistamento. Quando o recurso de cache recebe a notificação de Preparar, transfere o seu conteúdo para o recurso duradouro. Ao fazê-lo, o recurso durável inscreve-se na transação para se tornar participante do protocolo de Commit de 2 Fases (2PC). Antes disto acontecer, apenas o recurso de cache (e não o recurso duradouro) era incluído.
Se Nenhum for especificado, o alistamento indica que não receberá uma notificação de Preparar até ser tarde demais para criar novos alistamentos no 2PC. No nosso cenário anterior, se um recurso de cache especificar esta opção durante o alistamento e tentar esvaziar a cache durante a notificação Preparar, o recurso durável recebe uma exceção quando tenta alistar-se, pois já é tarde demais.
Nenhuma deve ser usada como padrão.