Skip to main content

Rate Limiter | .NET 8 | CSharp

  • Rate Limiter | .NET 8 | CSharp

Para configurar a limitação de taxa, você terá que:

  • Escolha um algoritmo de limitação de taxa (janela fixa, janela deslizante, balde de token ou simultaneidade).
  • Escolha uma chave de partição: userId, tenantId, apiKey ou o que for adequado ao seu caso de uso.
  • Crie uma política de limite de taxa particionada.
  • Adicione a política aos endpoints (ou melhor ainda, ao proxy reverso).
builder.Services.AddRateLimiter(options =>
{
options.AddPolicy("fixed-by-api-key", httpContext =>
RateLimitPartition.GetFixedWindowLimiter(
partitionKey: httpContext.Request.Headers["x-api-key"],
factory: _ => new FixedWindowRateLimiterOptions
{
PermitLimit = 100,
Window = TimeSpan.FromMinutes(60)
}
));
});