使用会话令牌

已完成

选择会话一致性时,使用会话令牌管理一致性。 然后,此令牌在 Azure Cosmos DB 和客户端之间来回传递,以确保客户端获得读取自己的写入保证。

使用 .NET SDK 类,可以手动提取会话令牌并将其传递回 Azure Cosmos DB 资源。

提示

通常,.NET SDK 会自动管理会话令牌。 在大多数应用程序中不需要实现此代码。

在此示例中,创建了一个新项。 Response 类包含带有特定 Session 标头的 Headers 属性,其中包含字符串格式的会话令牌。

ItemResponse<Product> response = await container.CreateItemAsync<Product>(item);
string token = response.Headers.Session;

未来的请求可以使用 ItemRequestOptions 类来配置会话令牌。 此示例演示请求读取新项,同时仍遵守会话令牌。

ItemRequestOptions options = new()
{
    SessionToken = token
};
ItemResponse<Product> readResponse = container.ReadItemAsync<Product>(id, partitionKey, requestOptions: options);)

提示

会话令牌可从客户端手动拉取,并在其他客户端上使用,以保留多个客户端之间的会话。