IReliableConcurrentQueue<T>.Count Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el número de valores de .IReliableConcurrentQueue<T>
public long Count { get; }
member this.Count : int64
Public ReadOnly Property Count As Long
Valor de propiedad
Número de valores de .IReliableConcurrentQueue<T>
Excepciones
Actualmente, la réplica no es legible.
El IReliableConcurrentQueue<T> tiempo de ejecución cerró .
Ejemplos
En este ejemplo se muestra cómo supervisar el recuento de la cola infinitamente, hasta que se cancela el token de cancelación.
protected override async Task RunAsync(CancellationToken cancellationToken)
{
var concurrentQueue = await this.StateManager.GetOrAddAsync<IReliableConcurrentQueue<long>>(new Uri("fabric:/concurrentQueue"));
// Assumption: values are being enqueued/dequeued in another place (e.g. the communication listener).
var observer = Task.Run(
async () =>
{
while (true)
{
cancellationToken.ThrowIfCancellationRequested();
try
{
Console.WriteLine("Count: " + concurrentQueue.Count);
}
catch (FabricNotReadableException e)
{
// Retry until the queue is readable or a different exception is thrown.
Console.WriteLine("Queue is not readable, retrying the observation: " + e);
}
catch (FabricObjectClosedException e)
{
// Gracefully exit as this is happening due to replica close.
Console.WriteLine("Replica is closing, stopping observer: " + e);
return;
}
await Task.Delay(TimeSpan.FromMilliseconds(100), cancellationToken);
}
},
cancellationToken);
}
Comentarios
Este recuento representa el número de valores visibles actualmente para TryDequeueAsync(ITransaction, CancellationToken, Nullable<TimeSpan>). Las colas no confirmadas no aumentarán el recuento; sin embargo, las colas no confirmadas disminuirán el recuento.
Tenga en cuenta que esta API no toma un parámetro de transacción. Dado que los efectos de no están aislados de TryDequeueAsync(ITransaction, CancellationToken, Nullable<TimeSpan>) otras transacciones, el recuento tampoco se puede aislar de otras transacciones.
Se aplica a
Azure SDK for .NET