zoukankan      html  css  js  c++  java
  • dotnet core 自定义配置文件

    首先添加一个.json 文件,比如 setting.json 文件内容如下,记得把文件设置为“复制到输出目录”

    {
    "ConfigSetting": {
    "XXXName": "Name",
    "XXXValue": "Value"
    }
    }

    下来定义一个接受Model 

    public class SettingModel
    {
    public string XXXName { get; set; }

    public string XXXValue { get; set; }
    }

    在 Startup.cs 的方法中 public void ConfigureServices(IServiceCollection services) 添加下面的注册事件

     services.Configure<SettingModel>(Configuration.GetSection("ConfigSetting"));

    然后在任务Controller 或者是服务中就能正常使用,使用方法见下面红色部分:

    public class SyncService : IBaseService
    {

    private readonly System.Timers.Timer _timer;
    private readonly ILogger logger;
    private readonly SettingModel settingModel;
    public SyncService(IOptions<SettingModel> settingOptons, ILoggerFactory loggerFactory)
    {
    this.settingModel = settingOptons.Value;
    _timer = new System.Timers.Timer(10000);
    _timer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

    _timer.Interval = 2000;

    _timer.AutoReset = true;
    _timer.Enabled = false;
    logger = loggerFactory.CreateLogger<SyncService>();
    }


    private void OnTimedEvent(object source, ElapsedEventArgs e)
    {
    Console.WriteLine(string.Format("SyncService:{0:yyyy-MM-dd HH:mm:sss}", DateTime.Now));
    _timer.Enabled = false;

    try
    {
    //do some job;
    }
    catch (Exception ex)
    {
    logger.LogError("SyncService Error {0}:", ex.Message);
    }
    Console.WriteLine(string.Format("SyncService:{0:yyyy-MM-dd HH:mm:sss}", DateTime.Now));

    Thread.Sleep(5 * 60 * 1000);

    _timer.Enabled = true;

    }

    public void Start()
    {
    _timer.Start();
    _timer.Enabled = true;
    }
    public void Stop()
    {
    _timer.Stop();
    _timer.Enabled = false;
    }
    }

  • 相关阅读:
    质数检测器
    《视觉SLAM十四讲》学习日志(一)——预备知识
    C++类的介绍
    Python数据类型解析(基础篇)
    括号匹配详解
    哈夫曼树编码
    分治之归并,快速排序
    洛谷p2216 多次单调队列,扫描矩阵中的最大值减去最小值最的固定大小子矩阵
    洛谷p1886滑动窗口最大最小值 双单调队列
    洛谷p1725 露琪诺 单调队列优化的DP
  • 原文地址:https://www.cnblogs.com/jfliuyun/p/8243504.html
Copyright © 2011-2022 走看看