Пример #1
0
        /// <summary>
        /// 停止监控。
        /// </summary>
        public void StopWatching(IConfigParameter getParameter)
        {
            IConfigChangeWatcher configWatcher = GetConfigWatcher(getParameter);

            if (configWatcher != null)
            {
                configWatcher.StopWatching();
            }
        }
Пример #2
0
        /// <summary>
        /// 获取某入口参数对应配置的监控。
        /// </summary>
        protected IConfigChangeWatcher GetConfigWatcher(IConfigParameter getParameter)
        {
            Check.Argument.IsNotNull("getParameter", getParameter);

            IConfigChangeWatcher configWatcher = null;

            watcherMappings.TryGetValue(getParameter.GroupName, out configWatcher);
            return(configWatcher);
        }
Пример #3
0
        /// <summary>
        /// 安装监控。
        /// </summary>
        /// <param name="watcher">监控。</param>
        protected void SetupWacher(IConfigChangeWatcher watcher)
        {
            string configWatchKey = watcher.GetParameter.GroupName;

            if (!watcherMappings.ContainsKey(configWatchKey))
            {
                lock (synObj)
                {
                    if (!watcherMappings.ContainsKey(configWatchKey))
                    {
                        watcherMappings.Add(configWatchKey, watcher);
                        watcher.Changed += new ConfigChangedEventHandler(OnConfigChanged);
                        watcher.StartWatching();
                    }
                }
            }
        }