示例#1
0
 private void InvokeChanged()
 {
     _optionsCache = new OptionsCache <TOptions>(_setups);
     foreach (var listener in _listeners)
     {
         listener?.Invoke(_optionsCache.Value);
     }
 }
示例#2
0
        /// <summary>
        /// 初始化。
        /// </summary>
        /// <param name="setups">描述配置其选项类型集合。</param>
        /// <param name="sources">跟踪选项更改类集合。</param>
        public OptionsMonitor(IEnumerable <IConfigureOptions <TOptions> > setups, IEnumerable <IOptionsChangeTokenSource <TOptions> > sources)
        {
            _sources      = sources;
            _setups       = setups;
            _optionsCache = new OptionsCache <TOptions>(setups);

            foreach (var source in _sources)
            {
                ChangeToken.OnChange(
                    () => source.GetChangeToken(),
                    () => InvokeChanged());
            }
        }
示例#3
0
 /// <summary>
 /// 初始化。
 /// </summary>
 /// <param name="setups">描述配置其选项类型集合。</param>
 public OptionsManager(IEnumerable <IConfigureOptions <TOptions> > setups)
 {
     _optionsCache = new OptionsCache <TOptions>(setups);
 }