Sdílet prostřednictvím


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

EnlistDuringPrepareRequired 1

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

None 0

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

Poznámky

Tento výčet je předán do EnlistVolatile a EnlistDurable a metody upozorňovat správce transakcí, zda správce prostředků musí vytvořit další zařazení během fáze přípravy. Další informace o zařazení naleznete v tématu Zařazení prostředků jako účastníci v transakci.

Pokud EnlistDuringPrepareRequired je zadána během zařazení, správce prostředků 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, například back-endovou databázi, by pravděpodobně použil tuto možnost během zařazení. Když prostředek ukládání do mezipaměti obdrží oznámení o přípravě, přenese jeho obsah do trvalého prostředku. Tím, trvalý prostředek zařazení na transakci stát se účastníkem 2 Fáze Commit (2PC) protokolu. Než k tomu dojde, byl zařazen pouze prostředek ukládání do mezipaměti (nikoli trvalý prostředek).

Pokud je zadána hodnota None, zařazení znamená, že neobdrží oznámení o přípravě, dokud není příliš pozdě vytvořit nové zařazení v 2PC. V našem předchozím scénáři platí, že pokud prostředek ukládání do mezipaměti určí tuto možnost během zařazení a pokusí se vyprázdnit svou mezipaměť během oznámení o přípravě, trvalý prostředek obdrží výjimku při pokusu o zařazení, protože je příliš pozdě.

Žádný by se měl použít jako výchozí.

Platí pro