1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using AdService.Controller.Dto;
- using DW5S.DTO;
- using Newtonsoft.Json;
- namespace AdService.Service
- {
- /// <summary>
- /// 服务上报服务(3s)
- /// </summary>
- public class AdReportService : BackgroundService
- {
- ILogger logger { get; set; }
- /// <summary>
- /// 服务上报服务
- /// </summary>
- protected override async Task ExecuteAsync(CancellationToken stoppingToken)
- {
- try
- {
- StreamReader sr = new StreamReader(Directory.GetCurrentDirectory() + "/appsettings.json");
- string json = sr.ReadToEnd();
- // 解析 JSON 字符串
- var adConfig = JsonConvert.DeserializeObject<AdConfig>(json);
- await Task.Run(async () =>
- {
- while (!stoppingToken.IsCancellationRequested)
- {
- SvrStateReportDto dto = new SvrStateReportDto()
- {
- DD = TimeSpan.FromSeconds(1),
- SvrType = EnumSvrType.AdCgSvr,
- SvrID = "AdService",
- BaseHttpAddr = adConfig.BaseHttpAddr,
- SwaggerAddr = adConfig.SwaggerAddr,
- ReportType = 0,
- };
- var res = await HttpHelper.PostRequestAsync<CpuCgResDto>(adConfig.AdcReportAddr, dto);
- logger.LogInformation("服务上报");
- await Task.Delay(TimeSpan.FromSeconds(3));//调用间隔3秒
- }
- }, stoppingToken);
- }catch (Exception ex)
- {
- logger.LogError("服务上报异常:"+ex.Message);
- }
- }
- }
- }
|