Exemple #1
0
        /// <summary>
        /// 注册更新处理器
        /// </summary>
        /// <param name="section">节点</param>
        /// <param name="reload">更新处理方法</param>
        /// <param name="runNow">是否现在执行一次</param>
        public static void RegistOnChange(string section, Action reload, bool runNow = true)
        {
            var cfg = new ChangeAction
            {
                Section = section
            };

            cfg.SetAction(reload);
            actions.Add(cfg);
            cfg.Disposable = ChangeToken.OnChange(() => Root.GetSection(cfg.Section).GetReloadToken(), cfg.Action);
            if (runNow)
            {
                cfg.Action();
            }
        }
Exemple #2
0
        /// <summary>
        /// 注册更新处理器
        /// </summary>
        /// <param name="section">节点</param>
        /// <param name="reload">更新处理方法</param>
        /// <param name="runNow">是否现在执行一次</param>
        public static void RegistOnChange <TConfig>(string section, Action <TConfig> reload, bool runNow = true)
            where TConfig : class, new()
        {
            var cfg = new ChangeAction
            {
                Section = section
            };

            cfg.SetAction(reload);

            cfg.Disposable = ChangeToken.OnChange(() => Root.GetSection(cfg.Section).GetReloadToken(), cfg.Action);
            if (runNow)
            {
                cfg.Action();
            }
        }