Freigeben über


ItemRequestOptions.SessionToken Eigenschaft

Definition

Ruft das Token für die Verwendung mit Sitzungskonsistenz im Azure Cosmos DB-Dienst ab oder legt es fest.

public string SessionToken { get; set; }
member this.SessionToken : string with get, set
Public Property SessionToken As String

Eigenschaftswert

Das Token für die Verwendung mit Sitzungskonsistenz.

Hinweise

Einer der für ConsistencyLevel Azure Cosmos DB ist Session. Tatsächlich ist dies die Standardebene, die auf Konten angewendet wird.

Bei Verwendung der Sitzungskonsistenz wird jeder neuen Schreibanforderung an Azure Cosmos DB ein neues Sitzungstoken (SessionToken) zugewiesen. Der DocumentClient verwendet dieses Token intern bei jeder Lese-/Abfrageanforderung, um sicherzustellen, dass die festgelegte Konsistenzebene beibehalten wird.

In einigen Szenarien müssen Sie diese Sitzung selbst verwalten. Betrachten Sie eine Webanwendung mit mehreren Knoten. Jeder Knoten verfügt über eine eigene instance von Microsoft.Azure.Cosmos.DocumentClient Wenn Sie möchten, dass diese Knoten an derselben Sitzung teilnehmen (um Ihre eigenen Schreibvorgänge konsistent über Webebenen hinweg lesen zu können), müssen Sie den SessionToken von ItemResponse<T> der Schreibaktion auf einem Knoten mithilfe eines Cookies oder eines anderen Mechanismus an die Clientebene senden. und dieses Token für nachfolgende Lesevorgänge zurück zur Webebene fließen lassen. Wenn Sie einen Roundrobin-Lastenausgleich ohne Beibehaltung der Sitzungsaffinität zwischen Anforderungen verwenden, z. B. Azure Load Balancer, wird die Leseanforderung möglicherweise an einen anderen Knoten gesendet als an den für die Schreibanforderung verwendeten Knoten, auf dem die Sitzung erstellt wurde.

Wenn Sie das Azure Cosmos DB-Sitzungstoken nicht wie oben beschrieben weiterleiten, kann es sein, dass Sie für eine gewisse Zeit inkonsistente Leseergebnisse erhalten.

Gilt für: