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

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. 手把手教你安装TensorFlow2 GPU 版本

    参考博客:https://blog.csdn.net/weixin_44170512/article/details/103990592 (本文中部分内容引自参考博客,请大家支持原作者!) 感谢大佬的 ...

  2. ASP。NET控件—控件如何相互关联

    介绍 这是我关于ASP系列的另一篇小文章.NET控件,它的主要焦点是揭示控件如何相互关联,涉及哪些实体,以及它们在此任务中的主要角色是什么. 动机 理解每次处理页面请求和某人在他的浏览器中获得您的we ...

  3. Java NIO:通道

    最近打算把Java网络编程相关的知识深入一下(IO.NIO.Socket编程.Netty) Java NIO主要需要理解缓冲区.通道.选择器三个核心概念,作为对Java I/O的补充, 以提升大批量数 ...

  4. 用c语言实现linux cat

    话不多说,直接上代码: #include <stdio.h> void file_copy(FILE * file1,FILE * file2); int main(int argc,ch ...

  5. MeteoInfoLab脚本示例:天气现象符号

    天气现象符号分布图实际就是散点图,可以用scatterm函数绘制,但之前需要创建天气符号图例,用weatherspec函数.如果只需要绘制某些天气现象(比如雾.霾),可以给出相应的天气符号序号列表(可 ...

  6. Celery---一个懂得异步任务,延时任务,周期任务的芹菜

    Celery是什么? celey是芹菜 celery是基于Python实现的模块,用于执行异步延时周期任务的 其结构组成是由 1.用户任务 app 2.管道任务broker用于存储任务 官方推荐red ...

  7. c3算法

    # L(G) = [G] + [O] # G = [O] # = GO # L[E] = EO # L[F] = [F] + [GO] # F = [GO] # = FGO # L[B] = [B] ...

  8. kali linux 换国内源

    输入命令 vim /etc/apt/sources.list 添加国内源 #中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-f ...

  9. 【最大匹配+二分答案】POJ 3057 Evacuation

    题目大意 POJ链接 有一个\(X×Y\)的房间,X代表墙壁,D是门,.代表人.这个房间着火了,人要跑出去,但是每一个时间点只有一个人可以从门出去. 问最后一个人逃出去的最短时间,如果不能逃出去,输出 ...

  10. 【折半枚举+二分】POJ 3977 Subset

    题目内容 Vjudge链接 给你\(n\)个数,求出这\(n\)个数的一个非空子集,使子集中的数加和的绝对值最小,在此基础上子集中元素的个数应最小. 输入格式 输入含多组数据,每组数据有两行,第一行是 ...