appsettings.json,給類庫項目引入 Microsoft.Extensions.Configuration 和 Microsoft.Extensions.Configuration.Json程序包,類庫中加載appsettings.json配置文件代碼如下:
{
"ConnectionStrings": {
"conn": "Server=localhost;port=3308;database=qdezge;uid=root;pwd=123456;"
},
"AppSettings": {
"AccessKey": "111111",
"SecretKey": "22222",
"Bucket": "3333333",
"Domain": "http://wwww.domain.com"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"wmUrl": "https://www.baidu.com"
}
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;
using System;
using System.Collections.Generic;
using System.Text;
namespace Infrastructure
{
/// <summary>
/// 讀取配置文件
/// </summary>
public class AppConfigurtaionServices
{
public static IConfiguration Configuration { get; set; }
static AppConfigurtaionServices()
{
//ReloadOnChange = true 當appsettings.json被修改時重新加載
Configuration = new ConfigurationBuilder()
.Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
.Build();
}
}
}
使用方法如下,讀取數據庫鏈接字符串
AppConfigurtaionServices.Configuration.GetConnectionString("conn");
//得Server=Server=192.168.10.254;port=3308;database=abc;uid=root;pwd=123456;
讀取一級配置節點配置
AppConfigurtaionServices.Configuration["wmUrl"]; //得 https://www.baidu.com
讀取二級子節點配置
AppConfigurtaionServices.Configuration["Appsettings:AccessKey"]; //得到 111111 AppConfigurtaionServices.Configuration["Appsettings:SecretKey"]; //得到 22222
注意,如果AppConfigurtaionServices類中拋出FileNotFoundException異常,說明目錄下未找到appsettings.json文件,這時請在項目appsettings.json文件上右鍵——屬性——將“復制到輸出目錄”項的值改為“始終復制”即可。
