Partilhar via


TokenBucketRateLimiter Classe

Definição

RateLimiter implementação que reabastece tokens periodicamente em vez de por meio de um mecanismo de versão.

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

Construtores

TokenBucketRateLimiter(TokenBucketRateLimiterOptions)

Inicializa o TokenBucketRateLimiter.

Propriedades

IdleDuration

Especifica por quanto tempo o RateLimiter tem todas as licenças disponíveis. Usado por gerentes RateLimiter que podem querer limpo RateLimiters não utilizados.

IsAutoReplenishing

Especifica se o ReplenishingRateLimiter está reabastecendo automaticamente seus tokens ou se espera que uma fonte externa chame TryReplenish()regularmente .

ReplenishmentPeriod

Especifica com que frequência os ReplenishingRateLimiter tokens serão reabastecidos. Se IsAutoReplenishing for false , essa é a frequência com TryReplenish() que deve ser chamado.

Métodos

AcquireAsync(Int32, CancellationToken)

Aguarde até que as licenças solicitadas estejam disponíveis ou as licenças não possam mais ser adquiridas.

(Herdado de RateLimiter)
AcquireAsyncCore(Int32, CancellationToken)

Método que RateLimiter implementações implementam para AcquireAsync(Int32, CancellationToken).

(Herdado de RateLimiter)
AttemptAcquire(Int32)

Tentativa síncrona rápida de adquirir licenças.

(Herdado de RateLimiter)
AttemptAcquireCore(Int32)

Método que RateLimiter implementações implementam para AttemptAcquire(Int32).

(Herdado de RateLimiter)
Dispose()

Descarta o RateLimiter. Isso conclui todas as aquisições na fila com uma concessão com falha.

(Herdado de RateLimiter)
Dispose(Boolean)

Descarte o método para implementações a serem gravadas.

(Herdado de RateLimiter)
DisposeAsync()

Descarta o RateLimiter de forma assíncrona.

(Herdado de RateLimiter)
DisposeAsyncCore()

Método DisposeAsync para implementações a serem gravadas.

(Herdado de RateLimiter)
GetStatistics()

Obtém um instantâneo das RateLimiter estatísticas, se disponível.

TryReplenish()

Tenta repor o bucket.

Aplica-se a