セッション トークンを使用する
セッションの整合性が選択されている場合、整合性はセッション トークンを使用し管理されます。 以降、このトークンは Azure Cosmos DB とクライアント間でやり取りされ、自己の書き込みの読み取りがクライアントに保証されます。
.NET SDK クラスを使用すると、セッション トークンを手動で抽出し、Azure Cosmos DB リソースに渡すことができます。
ヒント
通常は、.NET SDK によってセッション トークンが自動的に管理されます。 このコードはほとんどのアプリケーションに実装する必要はありません。
この例では、新しい項目が作成されます。 応答クラスには、特定の 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);)
ヒント
セッション トークンは、クライアントから手動でプルし、複数のクライアント間のセッションを保持するために別のクライアントで使用することができます。