EnlistmentOptions Výčet

Definice

Určuje, zda má být objekt zařazen během fáze přípravy.

Tento výčet podporuje bitové kombinace hodnot jeho členů.

public enum class EnlistmentOptions
[System.Flags]
public enum EnlistmentOptions
[<System.Flags>]
type EnlistmentOptions = 
Public Enum EnlistmentOptions
Dědičnost
EnlistmentOptions
Atributy

Pole

Name Hodnota Description
None 0

Objekt nevyžaduje zařazení během počáteční fáze procesu závazku.

EnlistDuringPrepareRequired 1

Objekt musí být zařazen během počáteční fáze procesu závazku.

Poznámky

Tento výčet se předá do EnlistVolatile a EnlistDurable metod, které oznámí správci transakcí, zda správce prostředků potřebuje vytvořit další zařazení během fáze Příprava.

Pokud je během zařazení zadán EnlistDuringPrepareRequired, resource Manager indikuje, že chce obdržet oznámení o přípravě, zatímco nové zařazení jsou stále povoleny pro transakci. Správce prostředků, který funguje jako mezipaměť pro jiný trvalý prostředek, jako je například back-endová databáze, by pravděpodobně tuto možnost použil při zařazení. Když prostředek ukládání do mezipaměti obdrží oznámení o přípravě, přenese jeho obsah do odolného prostředku. Tím se trvalý prostředek zařadí do transakce, aby se stal účastníkem protokolu 2 Phase Commit (2PC). Předtím, než k tomu dojde, byl zařazen pouze prostředek ukládání do mezipaměti (nikoli trvalý prostředek).

Pokud není zadán žádný, zařazení indikuje, že nebude dostávat oznámení o přípravě, dokud není příliš pozdě vytvořit nové zařazení v 2PC. Pokud prostředek ukládání do mezipaměti v našem předchozím scénáři určuje tuto možnost během zařazení a pokusí se během oznámení o přípravě vyprázdnit jeho mezipaměť, získá trvalý prostředek výjimku při pokusu o zařazení, protože je příliš pozdě.

Žádné by se nemělo používat jako výchozí.

Platí pro