对于ASP.NET Core的新的配置方式做个学习笔记,和之前版本的ASP.NET有很大的区别了,之前是依赖于System.Configuration和XML配置文件web.config,新的配置系统支持多种格式的配置文件。下面就以json配置一波
1.第一种 依赖注入方式
net core 默认的 appsettings.json配置文件

在控制器中注入IConfiguration接口,系统提供一个IConfiguration的接口, 而且是系统自动注入的服务.
using Microsoft.Extensions.Configuration;//引用
public class ValuesController : ControllerBase
{
private IConfiguration _configuration;
public ValuesController(IConfiguration configuration)
{
_configuration = configuration;
}
public IActionResult test()
{
string conn=_configuration.GetConnectionString("PictureAddress");//获取ConnectionStrings中的配置
string Other=_configuration["App:ServerRootAddress"];//获取指定配置
return Ok(conn);
}
}
2.第二种 ConfigurationBuilder
net core 默认的 appsettings.json配置文件与图一一致
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace Public.Helper
{
public static class ConfigurationHelper
{
private static string _connectionString = null;
private static IConfigurationRoot BuildConfiguration()
{
var builder = new ConfigurationBuilder()
.SetBasePath(Path.Combine(Directory.GetCurrentDirectory()))
.AddJsonFile("appsettings.json", optional: false);
return builder.Build();
}
public static string GetConnectionString()
{
if (_connectionString == null)
{
_connectionString = BuildConfiguration().GetConnectionString("Default");
}
return _connectionString;
}
}
}
3.第三种 StreamReader
首先在项目中创建json文件 项目右键——添加——新建项——选择json文件

写入自己的配置信息, 特别注意保存时一定要选择utf-8不然读取时会乱码
参考另一篇文章(菜单栏——工具——自定义——切换到命令选项卡——添加命令——类别选择文件——命令选择“高级保存选项”) 保存文件时选择菜单栏的高级保存选项 选择utf-8
解决.net core 读取appsettings.json文件中文乱码的问题_asp_lilu的博客-CSDN博客

读取
public bool Get是否需要推送信息(string code) {
string regJson = "";
using (StreamReader streamReader = new StreamReader(@"Taaaaa.json", Encoding.UTF8))
{//这个路径默认是读.host解决方案下的文件
regJson = streamReader.ReadToEnd();
}
T配置主结构 主结构 = JsonConvert.DeserializeObject<T配置主结构>(regJson);//定义了一个相同结构的实体类
//dynamic 主结构 = JsonConvert.DeserializeObject<dynamic>(regJson);//也可以使用动态对象
return 主结构.配置信息.Exists(a => a.机构编码 == code);
}版权声明:本文为qq_39569480原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。