IReliableConcurrentQueue<T>.Count Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Anzahl der Werte in ab IReliableConcurrentQueue<T>.
public long Count { get; }
member this.Count : int64
Public ReadOnly Property Count As Long
Eigenschaftswert
Die Anzahl der Werte im IReliableConcurrentQueue<T>.
Ausnahmen
Das Replikat ist derzeit nicht lesbar.
Die IReliableConcurrentQueue<T> wurde von der Runtime geschlossen.
Beispiele
In diesem Beispiel wird gezeigt, wie die Anzahl der Warteschlange unendlich überwacht wird, bis das Abbruchtoken abgebrochen wird.
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);
}
Hinweise
Diese Anzahl stellt die Anzahl der Werte dar, die derzeit für sichtbar sind TryDequeueAsync(ITransaction, CancellationToken, Nullable<TimeSpan>). Nicht commitierte Enqueues erhöhen die Anzahl nicht, aber nicht festgelegte Dequeues verringern die Anzahl.
Beachten Sie, dass diese API keinen Transaktionsparameter akzeptiert. Da die Auswirkungen von TryDequeueAsync(ITransaction, CancellationToken, Nullable<TimeSpan>) nicht von anderen Transaktionen isoliert sind, kann die Anzahl auch nicht von anderen Transaktionen isoliert werden.
Gilt für:
Azure SDK for .NET
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für