Microsoft.Extensions.Http.Resilience: использование параметров AddStandardResilienceHandler с SlidingWindowRateLimiterC#

Место общения программистов C#
Anonymous
Microsoft.Extensions.Http.Resilience: использование параметров AddStandardResilienceHandler с SlidingWindowRateLimiter

Сообщение Anonymous »

Используя Microsoft.Extensions.Http.Resilience, можно использовать точные параметры RateLimiter, такие как SlidingWindowRateLimiter, с AddStandardResilienceHandler. В качестве альтернативы можно применить значения по умолчанию из AddStandardResilienceHandler к пользовательскому определению AddResilienceHandler для всего остального, кроме части RateLimiter?
В идеале я бы хотел использовать лучшие практики по умолчанию, встроенные в библиотеку устойчивости, но переопределяющие часть RateLimiter для определенных ограничений, наложенных API.
Например, я хотел бы объединить:< /p>

Код: Выделить всё

builder.AddStandardResilienceHandler(static options => {
// Either apply RateLimiter options from below
});
с параметрами RateLimiter, такими как:

Код: Выделить всё

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

Вернуться в «C#»