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

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中的数据

.net core mvc appsettings.json配置文件的使用的更多相关文章

  1. Asp .Net Core 读取appsettings.json配置文件

         Asp .Net Core 如何读取appsettings.json配置文件?最近也有学习到如何读取配置文件的,主要是通过 IConfiguration,以及在Program中初始化完成的. ...

  2. ASP.NET Core读取appsettings.json配置文件信息

    1.在配置文件appsettings.json里新增AppSettings节点 { "Logging": { "LogLevel": { "Defau ...

  3. asp.net core 读取Appsettings.json 配置文件

    Appsettingsjson 配置定义实体在StartUp时读取配置信息修改你的Controller通过构造函数进入配置信息总结Appsettings.json 配置很明显这个配置文件就是一个jso ...

  4. ASP.NET Core 根据环境变量支持多个 appsettings.json配置文件 (开发和生产)

    新建一个项目,web根目录会出现一个 appsettings.json  配置文件, 此时添加--新建项,输入  appsettings.Development.json 再新增一个,appsetti ...

  5. [.NET Core] 简单读取 json 配置文件

    简单读取 json 配置文件 背景 目前发现网上的 .NET Core 读取配置文件有点麻烦,自己想搞个简单点的. .NET Core 已经不使用之前的诸如 app.config 和 web.conf ...

  6. 【NET Core】.NET Core中读取json配置文件

    在.NET Framework框架下应用配置内容一般都是写在Web.config或者App.config文件中,读取这两个配置文件只需要引用System.Configuration程序集,分别用 Sy ...

  7. .net core 读取appsettings.json乱码

    .net core 读取配置文件乱码:vs2019读取appsettings.json乱码问题; .net core 读取appsettings.json乱码问题;用notepad++或者其他编辑器打 ...

  8. .net core之编辑json配置文件

    .net core之编辑json配置文件 引言 最近在具体项目开发应用中,项目采用的json格式配置文件,配置文件的加载采用的IConfiguration接口对象进行的管理,这是.net standa ...

  9. .net core mvc 类库读取配置文件

      appsettings.json,给类库项目引入 Microsoft.Extensions.Configuration 和 Microsoft.Extensions.Configuration.J ...

随机推荐

  1. 介绍使用Cordova和Web Starter Kit开发Android

    介绍 如今,每个人都想制作移动应用程序,为什么不呢?世界上有更多的移动设备比任何其他用户设备.Android尤其流行,但是为什么不从一个众所周知的跨平台应用的基础开始呢?Android的开发显然比其他 ...

  2. MeteoInfoLab脚本示例:线性拟合

    MeteoInfoLab提供一个线性拟合函数linregress,参数是参与拟合的两个数据序列,返回拟合的斜率.截距和相关系数.有了上述拟合参数可以用polyval函数生成拟合数据(直线).然后可以将 ...

  3. go-zero 如何应对海量定时/延迟任务?

    一个系统中存在着大量的调度任务,同时调度任务存在时间的滞后性,而大量的调度任务如果每一个都使用自己的调度器来管理任务的生命周期的话,浪费cpu的资源而且很低效. 本文来介绍 go-zero 中 延迟操 ...

  4. day07 Pyhton学习

    一.昨日内容回顾 小数据池,常量池 id()内存地址 is == 的区别 is 判断的是内存地址 == 判断的是值 存在的意义: 快速的创建字符串,整数,布尔值的对象 帮你节省内存 解码和编码 enc ...

  5. 面试官:如何写出让 CPU 跑得更快的代码?

    前言 代码都是由 CPU 跑起来的,我们代码写的好与坏就决定了 CPU 的执行效率,特别是在编写计算密集型的程序,更要注重 CPU 的执行效率,否则将会大大影响系统性能. CPU 内部嵌入了 CPU ...

  6. css变量复用 全局变量-局部变量

    前言 简单使用场景:同一套后台系统有多套主题的情况下,主题色作为一个最常用到的可复用的颜色,非常有必要像js的全局变量一样存在全局变量中以作复用,之前我第一个想到的是sass的变量声明,未曾想到css ...

  7. JS的Document属性和方法(转)

    document.title //设置文档标题等价于HTML的title标签document.bgColor //设置页面背景色document.fgColor //设置前景色(文本颜色)docume ...

  8. influxdb集群部署

    环境准备 influxdb enterprise运行条件最低需要三个meta nodes节点以及两个data nodes Meta nodes之间使用TCP和Raft一致性协议通信,默认端口为8089 ...

  9. laytable 前台删除后加载当前页数据。

    laytable一次性获取数据后,点击删除调用后台删除.返回成功状态后刷新当前页数据. 渲染方法: //渲染表格 function renderingTable(pageIndex, sourceDa ...

  10. ELK6环境搭建

    (一)什么是ELK Stack ELK 到底是什么呢? "ELK"是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kibana. E ...