IReliableConcurrentQueue<T>.Count Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient le nombre de valeurs dans le IReliableConcurrentQueue<T>.
public long Count { get; }
member this.Count : int64
Public ReadOnly Property Count As Long
Valeur de propriété
Nombre de valeurs dans .IReliableConcurrentQueue<T>
Exceptions
Le réplica n’est actuellement pas lisible.
a IReliableConcurrentQueue<T> été fermé par le runtime.
Exemples
Cet exemple montre comment surveiller le nombre de files d’attente à l’infini, jusqu’à ce que le jeton d’annulation soit annulé.
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);
}
Remarques
Ce nombre représente le nombre de valeurs actuellement visibles pour TryDequeueAsync(ITransaction, CancellationToken, Nullable<TimeSpan>). Les files d’attente non validées n’augmentent pas le nombre, mais les files d’attente non validées diminuent le nombre.
Notez que cette API ne prend pas de paramètre de transaction. Étant donné que les effets de TryDequeueAsync(ITransaction, CancellationToken, Nullable<TimeSpan>) ne sont pas isolés des autres transactions, le nombre ne peut pas non plus être isolé des autres transactions.
S’applique à
Azure SDK for .NET