コード例 #1
0
        /// <summary>
        /// 监听别点变更事件执行方法
        /// </summary>
        /// <param name="obj"></param>
        private void FileWatcher_NodeChanged(string configName)
        {
            _handler.Execute(configName, () =>
            {
                //当前文件是否是过滤文件,如果是不更新
                if (config.UpdateStrategy.FileIgnoreList.Contains(configName))
                {
                    return;
                }

                //下载并更新配置文件
                var configValue   = FetchManager.Instance.GetConfig(configName);
                var isSaveSuccess = FetchManager.Instance.SaveAndCopyFile(configName, configValue);
                if (string.IsNullOrEmpty(configValue) || !isSaveSuccess)
                {
                    return;
                }

                //节点更新完成事件
                NodeChanged(configName, configValue);

                //推送给指定的回调函数
                FileRules.ConfigChanged(configName, configValue);
            });
        }
コード例 #2
0
        /// <summary>
        /// 节点变更事件执行方法
        /// </summary>
        /// <param name="itemName"></param>
        private void ItemWatcher_NodeChanged(string itemName)
        {
            _handler.Execute(itemName, () =>
            {
                if (!config.UpdateStrategy.ItemIgnoreList.Contains(itemName))
                {
                    //获取键值对的值
                    string value = FetchManager.Instance.GetItem(itemName);

                    //节点更新完成事件
                    NodeChanged(itemName, value);

                    //推送给指定的回调函数
                    ItemRules.ConfigChanged(itemName, value);
                }
            });
        }