Freigeben über


TokenBucketRateLimiter Klasse

Definition

RateLimiter Implementierung, die Token in regelmäßigen Abständen statt über einen Releasemechanismus auffüllt.

public sealed class TokenBucketRateLimiter : System.Threading.RateLimiting.ReplenishingRateLimiter
type TokenBucketRateLimiter = class
    inherit ReplenishingRateLimiter
Public NotInheritable Class TokenBucketRateLimiter
Inherits ReplenishingRateLimiter
Vererbung
TokenBucketRateLimiter

Konstruktoren

TokenBucketRateLimiter(TokenBucketRateLimiterOptions)

Initialisiert das TokenBucketRateLimiter.

Eigenschaften

IdleDuration

Gibt an, wie lange alle RateLimiter Genehmigungen verfügbar sind. Wird von RateLimiter-Managern verwendet, die nicht verwendete RateLimiters sauber möchten.

IsAutoReplenishing

Gibt an, ob die ReplenishingRateLimiter ihre Token automatisch auffüllt oder ob es erwartet, dass eine externe Quelle regelmäßig aufruft TryReplenish().

ReplenishmentPeriod

Gibt an, wie oft token ReplenishingRateLimiter aufgefüllt werden. Wenn IsAutoReplenishing ist false , dann sollte dies der Fall sein, wie oft TryReplenish() aufgerufen werden sollte.

Methoden

AcquireAsync(Int32, CancellationToken)

Warten Sie, bis die angeforderten Genehmigungen vorliegen oder keine Genehmigungen mehr erworben werden können.

(Geerbt von RateLimiter)
AcquireAsyncCore(Int32, CancellationToken)

Methode, die RateLimiter Implementierungen für AcquireAsync(Int32, CancellationToken)implementieren.

(Geerbt von RateLimiter)
AttemptAcquire(Int32)

Schneller synchroner Versuch, Genehmigungen zu erwerben.

(Geerbt von RateLimiter)
AttemptAcquireCore(Int32)

Methode, die RateLimiter Implementierungen für AttemptAcquire(Int32)implementieren.

(Geerbt von RateLimiter)
Dispose()

Entsorgt das RateLimiter. Dadurch werden alle in der Warteschlange befindlichen Abrufe mit einer fehlgeschlagenen Lease abgeschlossen.

(Geerbt von RateLimiter)
Dispose(Boolean)

Dispose-Methode für zu schreibende Implementierungen.

(Geerbt von RateLimiter)
DisposeAsync()

Entsorgt das RateLimiter asynchron.

(Geerbt von RateLimiter)
DisposeAsyncCore()

DisposeAsync-Methode für zu schreibende Implementierungen.

(Geerbt von RateLimiter)
GetStatistics()

Ruft eine Momentaufnahme der RateLimiter Statistiken ab, sofern verfügbar.

TryReplenish()

Versucht, den Bucket aufzufüllen.

Gilt für: