zoukankan      html  css  js  c++  java
  • .net core mvc appsettings.json配置文件的使用

    配置文件的使用主要是两种用法

    1.直接使用弱类型的数据 

    2.使用强类型的数据 (将配置的数据映射到类)

    直接使用弱类型的数据 

    在appsetings.json文件中先新建两个节点 TestObj节点用来实现弱类型的读取 TestObjTwo用来实现强类型的映射

    {
    "Logging": {
    "LogLevel": {
    "Default": "Information",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information"
    }
    },
    "AllowedHosts": "*",
    "TestObj": {
    "ParamOne": "asp.net"
    },
    "TestObjTwo": {
    "ParamOne": "asp.net",
    "ParamTwo": "asp.netCore",
    "Num": 60
    }
    }

    对于弱类型的字符串获取,需要使用IConfiguration接口类型的实例Configuration

     添加属性 public IConfiguration Configuration { get; }

    public HomeController(ILogger<HomeController> logger, IOptions<TestOptions> t, IConfiguration configuration)
    {
    _logger = logger;
    T = t;
    Configuration = configuration;

    //弱类型
    var Param = Configuration["TestObj:ParamOne"];

    //强类型
    var ParamTwo = T.Value.ParamTwo;
    var ParamOne = T.Value.ParamOne;
    var Num = T.Value.Num;
    }

    通过构造函数注入IConfiguration configuration

    使用  var Param = Configuration["TestObj:ParamOne"]; 读取弱类型数据

    使用强类型的数据 (将配置的数据映射到类)

    新建一个类 用来作为要映射到的类 类应该按照jappsetings.json配置文件中的模型来创建  参数类型也要对应

    public class TestOptions
    {
    public int Num { get; set; }
    public string ParamTwo { get; set; }
    public string ParamOne { get; set; }
    }

    在ConfigureServices中添加配置服务

    public void ConfigureServices(IServiceCollection services)
    {
    services.AddControllersWithViews();
    services.Configure<TestOptions>(Configuration.GetSection("TestObjTwo"));
    }

    homecontroller中添加相应的属性 public IOptions<TestOptions> T { get; }

    注入到构造函数

    public HomeController(ILogger<HomeController> logger, IOptions<TestOptions> t, IConfiguration configuration)
    {
    _logger = logger;
    T = t;
    Configuration = configuration;

    //弱类型
    var Param = Configuration["TestObj:ParamOne"];

    //强类型
    var ParamTwo = T.Value.ParamTwo;
    var ParamOne = T.Value.ParamOne;
    var Num = T.Value.Num;
    }

     直接使用强类型映射 也可以得到appsetings.json中的数据

  • 相关阅读:
    MySQL 连接 触发器 函数 视图 存储过程
    Django的ORM2
    nmp安装vuejs
    Docker 技术入门与实践(第3版)笔记
    docker官方 入门
    centos 各目录介绍
    阿里云es 安装docker
    linux命令
    centos 7 mini 安装青岛OJ
    leetcode_304. 二维区域和检索
  • 原文地址:https://www.cnblogs.com/yagamilight/p/12664191.html
Copyright © 2011-2022 走看看