Я должен внедрить автоматический выключатель в свое приложение. Все идет хорошо, автоматический выключатель работает, но мне нужно сохранить его состояние в базе данных. Как я могу это сделать? Я не могу найти ничего надежного в Интернете.
Вот код, который работает для прерывания цепи:
public static IServiceCollection AddTenantService(this
IServiceCollection services, IConfiguration configuration)
{
var tenantServiceSettings = configuration?.GetSection("ApiEndpoints");
var tenantServiceBaseUrl = tenantServiceSettings.GetValue<string>("TenantServiceApiLink");
var advancedCircuitBreakerPolicy = Policy
.HandleResult<HttpResponseMessage>(r => !r.IsSuccessStatusCode)
.AdvancedCircuitBreakerAsync(0.5, TimeSpan.FromSeconds(30), 2,
TimeSpan.FromSeconds(30), onBreak: (exception, context) => Console.WriteLine($"{exception}"), onReset: null);
services.AddHttpClient<ITenantService, TenantService>(client => { client.BaseAddress = new
Uri(tenantServiceBaseUrl); })
.SetHandlerLifetime(TimeSpan.FromMinutes(5))
.AddPolicyHandler(advancedCircuitBreakerPolicy);
return services;
}
Спасибо!