Ejemplo n.º 1
0
        /// <summary>
        /// 初始化
        /// </summary>
        /// <param name="setting"></param>
        public BaseFetcher(NDisconfSetting setting)
        {
            this._setting = setting;
            var strategy = this._setting.UpdateStrategy;

            this._policy = Policy.Handle <Exception>().WaitAndRetry(strategy.RetryTimes, i => TimeSpan.FromSeconds(strategy.RetryIntervalSeconds), (e, t, c) =>
            {
                _logger.Error(e, "Request Resource: " + c["Resource"]);
            });
            this._client = new RestClient(this._setting.WebApiHost);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 根据配置进行实例化
 /// </summary>
 /// <param name="setting"></param>
 public NDisconfFetcher(NDisconfSetting setting)
     : base(setting)
 {
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 通过反射获取IFetcher实例,注意所有IFetcher实现均存在一个NDisconfSetting参数的构造函数
 /// </summary>
 /// <param name="setting"></param>
 /// <returns></returns>
 public static IFetcher GetFetcher(NDisconfSetting setting)
 {
     return((IFetcher)Activator.CreateInstance(Type.GetType(setting.FetcherType), setting));
 }