public static void RegisterServices(this IServiceCollection services) { services.AddSingleton <IValidationAttributeAdapterProvider, CpfValidationAttributeAdapterProvider>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped <IAspNetUser, AspNetUser>(); #region HttpServices services.AddTransient <HttpClientAuthorizationDelegatingHandler>(); services.AddHttpClient <IAuthService, AuthService>() .AddPolicyHandler(PollyExtensions.WaitTry()) .AddTransientHttpErrorPolicy( p => p.CircuitBreakerAsync(5, TimeSpan.FromSeconds(30))); services.AddHttpClient <ICatalogService, CatalogService>() .AddHttpMessageHandler <HttpClientAuthorizationDelegatingHandler>() .AddPolicyHandler(PollyExtensions.WaitTry()) .AddTransientHttpErrorPolicy( p => p.CircuitBreakerAsync(5, TimeSpan.FromSeconds(30))); services.AddHttpClient <IPurchaseBffService, PurchaseBffService>() .AddHttpMessageHandler <HttpClientAuthorizationDelegatingHandler>() .AddPolicyHandler(PollyExtensions.WaitTry()) .AddTransientHttpErrorPolicy( p => p.CircuitBreakerAsync(5, TimeSpan.FromSeconds(30))); #endregion }
public static void RegisterServices(this IServiceCollection services) { services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped <IAspNetUser, AspNetUser>(); services.AddTransient <HttpClientAuthorizationDelegatingHandler>(); services.AddHttpClient <ICatalogService, CatalogService>() .AddHttpMessageHandler <HttpClientAuthorizationDelegatingHandler>() .AddPolicyHandler(PollyExtensions.WaitTry()) .AddTransientHttpErrorPolicy(p => p.CircuitBreakerAsync(5, TimeSpan.FromSeconds(30))); services.AddHttpClient <IShopCartService, ShopCartService>() .AddHttpMessageHandler <HttpClientAuthorizationDelegatingHandler>() .AddPolicyHandler(PollyExtensions.WaitTry()) .AddTransientHttpErrorPolicy(p => p.CircuitBreakerAsync(5, TimeSpan.FromSeconds(30))); }