zoukankan      html  css  js  c++  java
  • 【二】、.net core 3.1 windows服务读取appsetting的步骤

    1、在appsetting里添加节点

    {
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft": "Warning",
          "Microsoft.Hosting.Lifetime": "Information"
        }
      },
      "MQ": {
        "IP": "127.0.0.1",
        "Port": "61616",
        "UserName": "admin",
        "Password": "admin"
      }
    }

    2、新建一个与之对应的类如下:

        public class MQConfig
        {
            public string IP { get; set; }
            public string Port { get; set; }
            public string UserName { get; set; }
            public string Password { get; set; }
        }

    3、修改Program里的CreateHostBuilder

            public static IHostBuilder CreateHostBuilder(string[] args) =>
                Host.CreateDefaultBuilder(args)
                .UseWindowsService()
                .ConfigureServices((hostContext, services) =>
                    {
                        services.AddHostedService<Worker>();
                        services.Configure<MQConfig>(hostContext.Configuration.GetSection(key: "MQ"));
                    })
                .UseSerilog();

    4、在worker里使用

        public class Worker : BackgroundService
        {
            private readonly ILogger<Worker> _logger;
            private readonly MQConfig _mqConfig;
    
            public Worker(ILogger<Worker> logger, IOptions<MQConfig> settings)
            {
                _logger = logger;
                _mqConfig = settings.Value;
            }
    
            protected override async Task ExecuteAsync(CancellationToken stoppingToken)
            {
                while (!stoppingToken.IsCancellationRequested)
                {
                    _logger.LogInformation("Worker running at: {time}" + "IP:{1},Port:{2}", DateTimeOffset.Now, _mqConfig.IP, _mqConfig.Port);
                    await Task.Delay(1000, stoppingToken);
                }
            }
        }

    4、结果如下:

      示例代码地址:https://download.csdn.net/download/jiancaixing/20629212

  • 相关阅读:
    UITableView全面解析
    UITableView传值(自己使用)(属性,代理传值)
    页面之间传值(单例传值)(自己使用)
    带导航栏的最简单多视图
    UIscrollView和UIPageControl的循环滚动
    UIPickerView简单应用
    自定义进度条(菜鸟版)
    UISegmentedControl(人物简介)
    UI控件闪灯
    关于NSCELL
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/15075669.html
Copyright © 2011-2022 走看看