Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
ASP.NET middleware de limitação de taxa Core foi atualizado com funcionalidade extra. O middleware agora requer serviços registrados no AddRateLimiter.
Versão introduzida
ASP.NET Core 8.0 Preview 5
Comportamento anterior
Anteriormente, o limite de taxa podia ser usado sem AddRateLimiter. Por exemplo, o middleware pode ser configurado chamando Configure<RateLimiterOptions>(o => { }):
var builder = WebApplication.CreateBuilder(args);
builder.Services.Configure<RateLimiterOptions>(o => o
.AddFixedWindowLimiter(policyName: "fixed", options =>
{
// configuration
}));
var app = builder.Build();
app.UseRateLimiter();
app.MapGet("/", () => Results.Ok($"Hello world")).RequireRateLimiting("fixed");
app.Run();
Novo comportamento
Se AddRateLimiter não for chamado na inicialização do aplicativo, o ASP.NET Core lançará um erro informativo:
Não foi possível encontrar os serviços necessários. Adicione todos os serviços necessários chamando 'IServiceCollection.AddRateLimiter' no código de inicialização do aplicativo.
Tipo de mudança de rutura
Esta mudança é uma mudança comportamental.
Razão para a alteração
O middleware de limitação de taxa requer serviços que só são registrados por chamada AddRateLimiter.
Ação recomendada
Certifique-se de que AddRateLimiter é chamado na inicialização do aplicativo.
Por exemplo, atualize Configure<RateLimiterOptions>(o => { }) para usar AddRateLimiter:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRateLimiter(o => o
.AddFixedWindowLimiter(policyName: "fixed", options =>
{
// configuration
}));
var app = builder.Build();
app.UseRateLimiter();
app.MapGet("/", () => Results.Ok($"Hello world")).RequireRateLimiting("fixed");
app.Run();