public static IWebHostBuilder CreateWebHostBuilder(string[] args) { string instrumentationKey = string.Empty; var web = WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((context, config) => { var buildConfig = config.Build(); config.AddEnvironmentVariables(); instrumentationKey = buildConfig["APPINSIGHTS_INSTRUMENTATIONKEY"]; if (string.IsNullOrEmpty(buildConfig["KeyVaultName"]) || string.IsNullOrEmpty(buildConfig["KeyVaultClientId"]) || string.IsNullOrEmpty(buildConfig["KeyVaultClientSecret"])) { throw new ConfigurationErrorsException("one or all of the configuration settings for Azure key vault are missing"); } //challange rewrite the implementation of the keyvault to use the callback funciton instead of using the client id and secret. config.AddAzureKeyVault(KeyVaultConfig.GetKeyVaultEndpoint(buildConfig["KeyVaultName"]), buildConfig["KeyVaultClientId"], buildConfig["KeyVaultClientSecret"]); }) .ConfigureLogging(opt => { opt.AddConsole(); if (!string.IsNullOrEmpty(instrumentationKey)) { opt.AddApplicationInsights(instrumentationKey, opt => { opt.TrackExceptionsAsExceptionTelemetry = true; }); } opt.AddFilter <ApplicationInsightsLoggerProvider>("", LogLevel.Trace); }) .UseStartup <Startup>(); return(web); }
public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((context, config) => { var buildConfig = config.Build(); config.AddEnvironmentVariables(); // ****************************************** // Connecting to Azure Key Vault. config.AddAzureKeyVault( KeyVaultConfig.GetKeyVaultEndpoint(buildConfig["KeyVaultName"]), buildConfig["KeyVaultClientId"], buildConfig["KeyVaultClientSecret"] ); // ****************************************** }) .UseStartup <Startup>();
public static IWebHostBuilder CreateWebHostBuilder(string[] args) { var instrumentationkey = string.Empty; return(WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((context, config) => { var buildConfig = config.Build(); config.AddEnvironmentVariables(); instrumentationkey = buildConfig["APPINSIGHTS_INSTRUMENTATIONKEY"]; //challange implement keyvault using the callback functions to skp using clientid and clientsecret. config.AddAzureKeyVault(KeyVaultConfig.GetKeyVaultEndpoint(buildConfig["KeyVaultName"]), buildConfig["KeyVaultClientId"], buildConfig["KeyVaultClientSecret"]); }) .ConfigureLogging(options => { options.ClearProviders(); options.AddConsole(); options.AddApplicationInsights(instrumentationkey, options => { options.TrackExceptionsAsExceptionTelemetry = true; }); options.AddFilter <ApplicationInsightsLoggerProvider>("", LogLevel.Trace); }) .UseStartup <Startup>()); }