把一些配置信息保存在json文件可以避免更改时要重新发布程序的烦恼。
我这里使用的是写一个类文件,然后通过program.cs启动的方式(.net 6 开始没有startup了)。
项目类型:ASP.NET Core Web MVC / .NET 7.0 / VS2022
第一步:用NuGet 安装:.Microsoft.Extensions.Configuration
第二步:编写一个类文件 Mycofig(类名随意),用于读取appsetting.json
public class Myconfig
{
private static IConfiguration _config;
public Myconfig(IConfiguration configuration)
{
_config = configuration;
}
public static string ReadAppSettings(params string[] sessions)
{
try
{
if (sessions.Any())
{
return _config[string.Join(":", sessions)];
}
}
catch
{
return "";
}
return "";
}
}
第三步:在Program.cs中启动
//创建一个IConfiguration对象
IConfiguration configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json").Build();
// 这句原本就有
builder.Services.AddControllersWithViews();
//把添加的IConfiguration对象传入Myconfig并创建加入启动
builder.Services.AddSingleton(new Myconfig(configuration));
第四步:在需要的地方读取
/// <summary>
/// Mysql-01数据库链接串
/// </summary>
public static string Mysql_conn = Myconfig.ReadAppSettings("MySettings", "Mysqlstr");
appsetting.json样子
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"MySettings": {
"Mysqlstr": "**************"
}
}