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;
    }
    }

  • 相关阅读:
    Mac zsh: command not found zsh 所有命令在终端失效
    Java根据FreeMarker模板生成Word(doc)文档(带图片)
    2021年Java面试总结——自我篇
    toArray转换踩坑 java.lang.ClassCastException
    并发和并行
    protoBuf3学习
    StringBuffer和StringBuilder区别
    深拷贝和浅拷贝
    从不订购的客户
    使用jenkins遇到的问题汇总
  • 原文地址:https://www.cnblogs.com/jfliuyun/p/8243504.html
Copyright © 2011-2022 走看看