Compartilhar via


QueryRequestOptions.SessionToken Propriedade

Definição

Obtém ou define o token para uso com consistência de sessão no serviço do Azure Cosmos DB.

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

Valor da propriedade

O token para uso com consistência de sessão.

Comentários

Um dos para o ConsistencyLevel Azure Cosmos DB é Session. Na verdade, esse é o nível padrão aplicado às contas.

Ao trabalhar com consistência de Sessão, cada nova solicitação de gravação para o Azure Cosmos DB recebe um novo SessionToken. O CosmosClient usará esse token internamente com cada solicitação de consulta/leitura para garantir que o nível de consistência definido seja mantido.

Em alguns cenários, você precisa gerenciar esta Sessão por conta própria; Considere um aplicativo Web com vários nós, cada nó terá sua própria instância de CosmosClient Se você quisesse que esses nós participassem da mesma sessão (para poder ler suas próprias gravações consistentemente entre camadas da Web), você teria que enviar o SessionToken da ação de FeedResponse<T> gravação em um nó para a camada de cliente, usando um cookie ou algum outro mecanismo e faça com que esse token flua de volta para a camada da Web para leituras subsequentes. Se você estiver usando um balanceador de carga de distribuição equilibrada que não mantém a afinidade de sessão entre as solicitações, como o Azure Load Balancer, a leitura poderá chegar a um nó diferente da solicitação de gravação, onde a sessão foi criada.

Se você não transmitir o SessionToken do Azure Cosmos DB, conforme descrito acima, poderá acabar com resultados de leitura inconsistentes por um período de tempo.

Aplica-se a