Esempio n. 1
0
        /// <summary>Configure log analytics settings and HttpClient retry logic</summary>
        private void ConfigureLogAnalytics(IFunctionsHostBuilder builder)
        {
            LogAnalyticsSettings settings = new LogAnalyticsSettings
            {
                Secret          = Environment.GetEnvironmentVariable("LogAnalyticsSharedKey"),
                CustomLogName   = Environment.GetEnvironmentVariable("LogAnalyticsLogName"),
                WorkspaceId     = Environment.GetEnvironmentVariable("LogAnalyticsWorkspaceID"),
                UrlStringFormat = Environment.GetEnvironmentVariable("LogAnalyticsUrlFormat")
            };

            builder.Services.AddSingleton(settings);
            builder.Services.AddTransient <ILogAnalyticsService, LogAnalyticsService>();

            builder.Services.AddHttpClient("LogAnalytics", client => { })
            .AddTransientHttpErrorPolicy(bld => bld.WaitAndRetryAsync(new[]
            {
                TimeSpan.FromSeconds(1),
                TimeSpan.FromSeconds(2),
                TimeSpan.FromSeconds(5)
            }));
        }
 public LogAnalyticsService(LogAnalyticsSettings settings, IHttpClientFactory httpClientFactory)
 {
     _settings          = settings;
     _httpClientFactory = httpClientFactory;
 }