Example #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            services.AddHttpClient();

            IConfigReader appConfig = new NetCoreSettingsConfigReader(Configuration);
            IConfigReader envConfig = new EnvVarsConfigReader(EnvironmentVariableTarget.Process);

            services
            // .AddSingleton<IConfigReader>(provider => appConfig)
            .AddSingleton <IConfigReader>(provider => envConfig)
            .AddScoped <INamesClient, Names>()
            // .AddScoped<IFeatureFlags, FeatureFlags>()
            // .AddScoped<IGiphyClient, Giphy>()
            ;
        }
Example #2
0
        static void Main(string[] args)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
            var configuration = builder.Build();

            IConfigReader appConfig     = new NetCoreSettingsConfigReader(configuration);
            IConfigReader credKVConfig1 = new CredentialsKeyVaultConfigReader(appConfig);
            IConfigReader envConfig     = new EnvVarsConfigReader(EnvironmentVariableTarget.Machine);
            IConfigReader credKVConfig2 = new CredentialsKeyVaultConfigReader(envConfig);

            var serviceProvider = new ServiceCollection()
                                  // .AddSingleton<IConfigReader>(provider => appConfig)
                                  // .AddSingleton<IConfigReader>(provider => envConfig)
                                  // .AddSingleton<IConfigReader>(provider => credKVConfig1)
                                  .AddSingleton <IConfigReader>(provider => credKVConfig2)
                                  .AddSingleton <IConsumer, ConfigConsumer>()
                                  .BuildServiceProvider();

            var consumer = serviceProvider.GetService <IConsumer>();

            consumer.Consume();
        }