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

  • 相关阅读:
    python字典及其内置函数详解
    python函数语法学习
    python切片、迭代、生成器、列表生成式等高级特性学习
    Python入门及安装
    node中的加密模块 crypto
    Nodejs+MongoDB+Bootstrap+esj搭建的个人简易博客
    JavaScript的深拷贝和浅拷贝总结
    redux 学习总结
    简述redux(1)
    通信数据转发程序:代理、网关、隧道
  • 原文地址:https://www.cnblogs.com/jfliuyun/p/8243504.html
Copyright © 2011-2022 走看看