示例#1
0
        /// <summary>
        /// Method to configure all HttpClients with Polly Policy
        /// </summary>
        /// <param name="services">IServiceCollection</param>
        /// <param name="configuration">IConfiguration</param>
        /// <returns>IServiceCollection with HttpClients</returns>
        public static IServiceCollection ConfigureHttpClients(this IServiceCollection services, IConfiguration configuration)
        {
            services.AddHttpClient("Products", client =>
            {
                client.BaseAddress = new Uri(configuration.GetValue <string>("ProductBaseUrl"));
            }).AddPolicyHandler(PollyExtensions.ConfigurePolicy());

            services.AddHttpClient("Areas", client =>
            {
                client.BaseAddress = new Uri(configuration.GetValue <string>("AreaBaseUrl"));
            }).AddPolicyHandler(PollyExtensions.ConfigurePolicy());

            services.AddHttpClient("Ingredients", client =>
            {
                client.BaseAddress = new Uri(configuration.GetValue <string>("IngredientsUrl"));
            }).AddPolicyHandler(PollyExtensions.ConfigurePolicy());

            return(services);
        }