public ConsulConfigurationProvider(IConsulConfigurationSource source, ConsulConfigurationParser configurationParser)
        {
            this.configurationParser = configurationParser;
            this.source = source;

            if (source.ReloadOnChange)
            {
                ChangeToken.OnChange(
                    () => this.configurationParser.Watch(this.source.ServiceKey, this.source.CancellationToken),
                    async() =>
                {
                    await this.configurationParser.GetConfig(true, source).ConfigureAwait(false);

                    Thread.Sleep(source.ReloadDelay);

                    this.OnReload();
                });
            }
        }
示例#2
0
        public IConfigurationProvider Build(IConfigurationBuilder builder)
        {
            ConsulConfigurationParser consulParser = new ConsulConfigurationParser(this);

            return(new ConsulConfigurationProvider(this, consulParser));
        }