Usar tokens de sesión

Completado

Cuando se selecciona la coherencia de la sesión, la coherencia se administra mediante un token de sesión. Después, este token se intercambia entre Azure Cosmos DB y el cliente para asegurarse de que los clientes obtengan sus propias garantías de escritura y lectura.

Con las clases del SDK de .NET, el token de sesión se puede extraer manualmente y volver a pasar al recurso de Azure Cosmos DB.

Sugerencia

Normalmente, el SDK de .NET administra automáticamente los tokens de sesión. No es necesario implementar este código en la mayoría de las aplicaciones.

En este ejemplo, se crea un nuevo elemento. La clase de respuesta contiene una propiedad Headers con un encabezado Session específico, que contiene el token de sesión en formato de cadena.

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

Las solicitudes futuras pueden usar la clase ItemRequestOptions para configurar el token de sesión. En este ejemplo se muestra una solicitud para leer un nuevo elemento mientras se sigue respetando el token de sesión.

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

Sugerencia

Los tokens de sesión se pueden sacar manualmente de un cliente y usarse en otro cliente para conservar una sesión entre varios clientes.