zoukankan      html  css  js  c++  java
  • asp.net core 读取Appsettings.json 配置文件

    Appsettingsjson 配置
    定义实体
    在StartUp时读取配置信息
    修改你的Controller通过构造函数进入配置信息
    总结
    Appsettings.json 配置
    很明显这个配置文件就是一个json文件,并且是严格的json文件,所有的属性都需要添加“”引号;
    面给出一段自定义的配置文件吧

    {
    "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
    "Default": "Warning"
    }
    },
    "StarInfo": {
    "Port": 4567
    }
    }

    定义实体
    需要定义一个实体,类型与配置文件匹配,以便将配置文件中的json转成C#中的实体进行操作
    实体的代码如下

    public class StarInfo
    {
    public int Port { get; set; }
    }

    在StartUp时读取配置信息
    在startup的ConfigureServices方法中读取配置信息
    样例代码:

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
    // Add framework services.
    services.AddMvc();
    //读取配置信息
    services.Configure<StarInfo>(this.Configuration.GetSection("StarInfo"));
    }

    修改你的Controller,通过构造函数进入配置信息
    ?先说一个疑问:我没有搞清楚这个构造函数的注入是在哪个接口内完成的,等有时间看一下源码吧,否则这种导出都是注入的代码理解起来还是有点困难。

    我这里是直接在HomeController中进行修改的,样例代码如下:

    public class HomeController : Controller
    {
    //定义配置信息对象
    public StarInfo StarInfoConfig;
    //重写构造函数,包含注入的配置信息
    public HomeController(IOptions<StarInfo> setting) {
    StarInfoConfig = setting.Value;
    }
    //Action
    public IActionResult Index()
    {
    //读取配置信息,这里也就是使用的地方了
    ViewData["Port"] = StarInfoConfig.Port;
    return View();
    }

  • 相关阅读:
    CF920E 补图强连通分量 BFS+set维护
    hdoj5876 补图最短路 BFS+set维护还可以更新的点.
    LA4287 tarjan求强连通分量+缩点
    cf920F SUM and REPLACE 树状数组+set 维护
    cf920G List Of Integers 二分+容斥
    cf 919D substring
    2017寒假概率dp训练题
    O(n)求数组中第k大的元素——堆排序
    O(n)求数组中第k大的元素——快排划分
    Turtlebot3入门手册之八:Realsense r200安装与测试
  • 原文地址:https://www.cnblogs.com/amylis_chen/p/11076087.html
Copyright © 2011-2022 走看看