Share via


ItemRequestOptions.SessionToken Propriété

Définition

Obtient ou définit le jeton à utiliser avec la cohérence de session dans le service Azure Cosmos DB.

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

Valeur de propriété

Jeton à utiliser avec la cohérence de session.

Remarques

L’un des ConsistencyLevel pour Azure Cosmos DB est Session. En fait, il s’agit du niveau par défaut appliqué aux comptes.

Lors de l’utilisation de la cohérence de session, chaque nouvelle demande d’écriture à Azure Cosmos DB est attribuée à une nouvelle SessionToken. DocumentClient utilise ce jeton en interne avec chaque demande de lecture/requête pour s’assurer que le niveau de cohérence de l’ensemble est maintenu.

Dans certains scénarios, vous devez gérer cette session vous-même ; Considérez une application web avec plusieurs nœuds, chaque nœud aura ses propres instance de Microsoft.Azure.Cosmos.DocumentClient Si vous souhaitez que ces nœuds participent à la même session (pour pouvoir lire vos propres écritures de manière cohérente entre les niveaux web), vous devrez envoyer le SessionToken de ItemResponse<T> l’action d’écriture sur un nœud au niveau client, à l’aide d’un cookie ou d’un autre mécanisme, et que ce jeton revienne au niveau web pour les lectures suivantes. Si vous utilisez un équilibreur de charge de tourniquet (round robin) qui ne conserve pas l’affinité de session entre les requêtes, tel qu’Azure Load Balancer, la lecture peut s’effectuer sur un nœud différent de la requête d’écriture, où la session a été créée.

Si vous ne transmettez pas le SessionToken Azure Cosmos DB dans le cadre de la description ci-dessus, vous risquez de vous retrouver avec des résultats de lecture incohérents pendant une période donnée.

S’applique à