В идеале я бы хотел использовать лучшие практики по умолчанию, встроенные в библиотеку устойчивости, но переопределяющие часть RateLimiter для определенных ограничений, наложенных API.
Например, я хотел бы объединить:< /p>
Код: Выделить всё
builder.AddStandardResilienceHandler(static options => {
// Either apply RateLimiter options from below
});
Код: Выделить всё
services.AddHttpClient(Constants.StarshipitHttpClient)
.AddResilienceHandler(Constants.StarshipitHttpClient, static builder =>
{
builder.AddRateLimiter(new SlidingWindowRateLimiter(
new SlidingWindowRateLimiterOptions
{
PermitLimit = 2,
Window = TimeSpan.FromSeconds(1),
QueueLimit = int.MaxValue,
}
));
// Or add other default resiliency options from AddStandardResilienceHandler above
});
Подробнее здесь: https://stackoverflow.com/questions/786 ... er-options