public override async Task Execute(IJobExecutionContext context)
        {
            try
            {
                ConsulNetClient consulClient = new ConsulNetClient(new ConsulOption()
                {
                    Host       = ConHost,
                    DataCenter = ConDataCenter,
                    WaitTime   = TimeSpan.FromSeconds(ConWaitTime),
                    TimeOut    = TimeSpan.FromSeconds(ConTimeOut)
                });
                // LogService.Default.Debug("xxxx-xxx-1");
                //获取配置信息
                var conList = await consulClient.KVListAsync <ConfigValue>(ConPath);

                // LogService.Default.Debug("xxxx-xxx-2");

                var valueList = conList.Where(o => o.IsEnable).ToList();
                //  LogService.Default.Debug("xxxx-xxx-3");

                //同步配置信息
                JsonConfigMange.GetInstance().WiteConfig(valueList);

                //释放Concul连接
                consulClient.Dispose();
            }
            catch (Exception ex)
            {
                LogService.Default.Fatal(ex, "执行后台任务拉取配置信息出错" + ex.Message);
            }
        }
Пример #2
0
 public static JsonConfigMange GetInstance()
 {
     lock (locker)//确保线程安全
     {
         if (_configManage == null)
         {
             _configManage = new JsonConfigMange();
             _configManage.configOperat = new ConfigurationBuilder()
                                          .AddInMemoryCollection()
                                          .SetBasePath(Directory.GetCurrentDirectory())
                                          .AddJsonFile(_configManage.jsonFileName, optional: true, reloadOnChange: true)
                                          .Build();
         }
         return(_configManage);
     }
 }