上一篇我们将了读取自定义配置文件。这篇我们讲一下asp.net core mvc里读取自带的配置文件 appsettings.json

首先创建个asp.net core mvc项目,项目里有Program.cs文件, 代码 WebHost.CreateDefaultBuilder(args)  这句话里加默认加载了appsettings.json,所以就不需要再次指定json文件了。

其次,打开Startup.cs文件,在方法ConfigureServices里添加一句代码:

 //将MyClass注册进Configuration
services.Configure<MyClass>(Configuration);

MyClass类与appsettings.json里的字段是一一对应的即可。

接下来我们就可以使用了。

(1)创建个控制器,在构造函数里注入

using Microsoft.Extensions.Options;
   /// <summary>
/// 构造函数,这里用IOptionsSnapshot可以支持热更新,如果使用IOptions则不支持热更新
/// </summary>
/// <param name="_myclass"></param>
public HomeController(IOptionsSnapshot<MyClass> _myclass)
{
myclass = _myclass.Value;
}

(2)需要使用的地方就可以直接拿myclass使用了。

  public IActionResult Index()
{
return View(myclass);
}

(3)也可以在Views里直接使用,直接省去(1)(2)步骤。

@using Microsoft.Extensions.Options;
@inject IOptionsSnapshot<MyClass> myClass; @{
ViewData["Title"] = "Home Page";
} <div class="text-center">
<h1>班级名称:@myClass.Value.className</h1>
<h1>班级秒速:@myClass.Value.classDesc</h1> <div>
@foreach(var s in myClass.Value.students)
{
<div>
学生姓名:@s.name
</div>
<div>
学生年龄:@s.age
</div> } </div> </div>

还有种最简单,最灵活的方法:

1、应用的依赖关系注入 (DI) 容器中提供了 IConfiguration。 IConfiguration 可注入到 Razor Pages PageModel 以获取以下类的配置:

using Microsoft.Extensions.Configuration;

public class IndexModel : PageModel
{
private readonly IConfiguration _config; public IndexModel(IConfiguration config)
{
_config = config;
} // The _config local variable is used to obtain configuration
// throughout the class.
}

2、在需要使用的地方:

           var sectCofiguration=  _configuration.GetSection("RedisConfig:RedisSentinelsUrl");
string sectValu= sectCofiguration.Value;

3、强类型转换:

//配置文件JwtSettings有子节点;对应类JwtSettings的属性
IConfigurationSection configSection = configuration.GetSection("JwtSettings");
//JwtSettings 是一个类
JwtSettings config = configSection.Get<JwtSettings>();

asp.net core mvc 读取配置文件appsettings.json的更多相关文章

  1. IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题

    IT咨询顾问:一次吐血的项目救火   年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...

  2. asp.net core mvc 读取appsettings.config中文乱码问题

    asp.net core mvc 读取appsettings.config中文乱码问题的解决方法如下: 用记事本打开appsettings.config,另存为的时候,编码设置为 “UTF-8”,

  3. ASP.NET Core开发-读取配置文件Configuration appsettings.json

    https://www.cnblogs.com/linezero/p/Configuration.html ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配 ...

  4. .NET Core在类库中读取配置文件appsettings.json

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

  5. .Net Core 读取配置文件 appsettings.json

    1. 首先些一个类 public class MySettings { public string P1 { get; set; } public string P2 { get; set; } } ...

  6. ASP.NET Core开发-读取配置文件Configuration

    ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NET有所不同了,之前是依赖于System.Configuration和XML ...

  7. NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json

    一.简介 1.读取配置文件是开发过程中使用非常频繁的操作.属称”不能写死“ 二.NetCore读取配置文件 1.新建一个静态公共变量,属称单例. 2.在程序Startup启动时,将系统变量传递给单例. ...

  8. 读取配置文件,appsettings.json和注入ICO

    https://www.cnblogs.com/knowledgesea/p/7079880.html 引入Nuget的两个类库 Microsoft.Extensions.Configuration ...

  9. Working with Data » 使用Visual Studio开发ASP.NET Core MVC and Entity Framework Core初学者教程

    原文地址:https://docs.asp.net/en/latest/data/ef-mvc/intro.html The Contoso University sample web applica ...

随机推荐

  1. Docker(5):Docker镜像基本操作(上)

    1.获取镜像 可以使用docker pull 命令从网络上下载镜像.该命令的格式为docker pull NAME[:TAG].对于Docker镜像来说,如果不显示地指定TAG,则默认会选择lates ...

  2. delete,drop,truncate的区别?

    drop:是删除表的结构 delete:删除表的数据 truncate:删除表的数据,并且对id进行重新排序.

  3. Hadoop跨集群迁移数据(整理版)

    1. 什么是DistCp DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具.它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成.它把文件和目录的列表作为map任务的 ...

  4. SOLOR介绍

    https://www.cnblogs.com/ki16/p/11209508.html

  5. LeetCode 931. Minimum Falling Path Sum

    原题链接在这里:https://leetcode.com/problems/minimum-falling-path-sum/ 题目: Given a square array of integers ...

  6. edgedb-js 来自官方的js 驱动

    目前对于edgedb 主要还是来自官方的python驱动,目前js 版本的已经快发布了,代码在github 可以看到了 同时官方文档也提供了一个关于edgedb 内部的协议说明,结合js 驱动以及文档 ...

  7. 使用gitbase 分析git 仓库代码

      gitbase 是一个基于golang 开发的开源git 仓库sql 接口查询引擎,基于此工具,我们可以方便的分析git 仓库代码的情况 而且可以基于源码的分析,还是很强大的 安装 直接使用编译的 ...

  8. 通过HttpServletRequest重写+filter 添加header

    问题说明 需要做的事情比较简单,就是通过filter 重写httpservletrequest ,同时给予request 添加header 主要是通过HttpServletRequestWrapper ...

  9. mybatis-generator 插件

    首先肯定要有mybatis的依赖 <!--mybatis spring--> <dependency> <groupId>org.mybatis.spring.bo ...

  10. ShardingSphere初探1 --Sharding-JDBC

    Sharding-JDBC 引入maven依赖: <dependency> <groupId>org.apache.shardingsphere</groupId> ...