asp.net core mvc 读取配置文件appsettings.json
上一篇我们将了读取自定义配置文件。这篇我们讲一下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的更多相关文章
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
IT咨询顾问:一次吐血的项目救火 年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...
- asp.net core mvc 读取appsettings.config中文乱码问题
asp.net core mvc 读取appsettings.config中文乱码问题的解决方法如下: 用记事本打开appsettings.config,另存为的时候,编码设置为 “UTF-8”,
- ASP.NET Core开发-读取配置文件Configuration appsettings.json
https://www.cnblogs.com/linezero/p/Configuration.html ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配 ...
- .NET Core在类库中读取配置文件appsettings.json
在.NET Framework框架时代我们的应用配置内容一般都是写在Web.config或者App.config文件中,读取这两个配置文件只需要引用System.Configuration程序集,分别 ...
- .Net Core 读取配置文件 appsettings.json
1. 首先些一个类 public class MySettings { public string P1 { get; set; } public string P2 { get; set; } } ...
- ASP.NET Core开发-读取配置文件Configuration
ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NET有所不同了,之前是依赖于System.Configuration和XML ...
- NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json
一.简介 1.读取配置文件是开发过程中使用非常频繁的操作.属称”不能写死“ 二.NetCore读取配置文件 1.新建一个静态公共变量,属称单例. 2.在程序Startup启动时,将系统变量传递给单例. ...
- 读取配置文件,appsettings.json和注入ICO
https://www.cnblogs.com/knowledgesea/p/7079880.html 引入Nuget的两个类库 Microsoft.Extensions.Configuration ...
- 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 ...
随机推荐
- Linux SSH 服务
本篇写一些关于Linux网络中SSH服务的相关知识. 测试环境 名称 IP地址 host01 192.168.28.128 host02 192.168.28.129 host03 192.168.2 ...
- H3C WLAN相关组织和标准
- 【Intellij Idea】Intellij Idea 某个提示功能disable,想恢复怎么做
比如,恢复实现抽象类和接口的功能, 打开idea设置-->editor -->interntions 搜索 implement,然后将空白的打上勾
- Electrification Plan 最小生成树(prim+krusl+堆优化prim)
题目 题意: 无向图,给n个城市,n*n条边,每条边都有一个权值 代表修路的代价,其中有k个点有发电站,给出这k个点的编号,要每一个城市都连到发电站,问最小的修路代价. 思路: prim:把发电站之间 ...
- 深层次揭示runBlocking与coroutineScope之间的异同点
在之前https://www.cnblogs.com/webor2006/p/11731763.html咱们写过这样的一个例子,先来回顾一下: 也就是来演示runBlocking与coroutineS ...
- Codeforces Round #574 (Div. 2)题解
比赛链接 传送门 A题 题意 \(n\)个人每个人都有自己喜欢喝的\(vechorka\)口味,现在给你\(\lceil n/2\rceil\)箱\(vechorka\),每箱有两瓶,问最多能有多少个 ...
- java服务端的效率
java服务端的效率 可以的 socketclient thread 线程池 发送消息 80个socket client并发
- 自定义控件LengthValidator
1.创建自定义验证控件:新建LengthValidator类并继承BaseValidator using System; using System.Collections.Generic; using ...
- C# 获取操作系统空闲时间
获取系统鼠标和键盘没有任何操作的空闲时间 public class CheckComputerFreeState { /// <summary> /// 创建结构体用于返回捕获时间 /// ...
- 《exception》第九次团队作业:Beta冲刺与验收准备(第一天)
一.项目基本介绍 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 Exception 作业学习目标 1.掌握软件黑盒测试技术:2.学会编制软件项目 ...