vs2022右键项目 选择 管理用户机密 即可 创建 本项目的 机密文件 secrets.json 这个文件 不在 项目中 所以 可以有效的 防止 上传到 github中。此文件 可以 放置 连接字符串 服务器 账号密码 等机密信息。
如何获取secrets.json的值:首先 因为 asp.net core 会 自动 注入一个IConfiguration,所以可以用 构建函数 接受。 直接 使用。
测试代码 secrets.json 的信息
{
"BDcontext": "admin&",
"Name": ["张三","李四","王五"]
}
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace aspnetcore009.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class Test3Controller : ControllerBase
{
private readonly IConfiguration _configuration;
//接受注入
public Test3Controller(IConfiguration configuration)
{
_configuration = configuration;
}
[HttpGet]
public string GetConfig()
{
//获取 appsettings.json默认节点的值
//return _configuration.GetSection("Logging").GetSection("LogLevel").GetSection("Default").Value;
//获取配置文件 json 数组中的值
return _configuration.GetSection("Name:0").Value;
}
}
}
上面 代码 是 在 控制器中 读取 json配置文件
需要注意:secrets.json appsettings.json 都是 asp.net core 自动加载的 无需手动加载 ,即可直接使用。 顺序 为 1.secrets.json 2.appsettings.json 如果这两个 json节点重名 appsettings.json会覆盖 secrets.json配置 而appsettings.Development.json会覆盖 appsettings.json。appsettings.Development.json为多环境变量配置。 appsettings.json下可以有多个 json文件
直接在Program.cs中读取 json配置文件 如下
var app = builder.Build();
var str = app.Configuration.GetSection("BDcontext").Value;
Console.WriteLine(str);