public CosmosConfigurationProvider(CosmosConfigurationSource source, string slot, Container container)
        {
            _ids    = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);
            _source = source;

            var optionsMonitor = new OptionsMonitorShim <CosmosStorageOptions>(source.Options);

            _repository = new CosmosRepository(slot, container, optionsMonitor, null);
        }
Ejemplo n.º 2
0
        public static IConfigurationBuilder AddCosmosConfigurationProvider(this IConfigurationBuilder builder,
                                                                           Action <CosmosStorageOptions> configureDatabase,
                                                                           Action <SaveConfigurationOptions> configureOptions = null,
                                                                           bool reloadOnChange = false, IConfiguration configSeed = null)
        {
            var dbConfig = new CosmosStorageOptions();

            configureDatabase?.Invoke(dbConfig);

            var saveConfig = new SaveConfigurationOptions();

            configureOptions?.Invoke(saveConfig);

            var source = new CosmosConfigurationSource(dbConfig, saveConfig, configSeed)
            {
                ReloadOnChange = reloadOnChange
            };

            builder.Add(source);
            return(builder);
        }