.Net Core3.0 WebApi 目錄
appsettings.json
我們在寫項目時往往會把一些經常變動的,可能會變動的參數寫到配置文件、數據庫中等可以存儲數據且方便配置的地方,這樣會方便我們在項目上線以后做相對應的配置工作。
.Core WebApi項目中我們將把配置文件統一放在appsettings.json文件中,我們將將寫一個讀取配置文件的公用類。
新建公共類庫
新建類庫Webapi.Core.Infrastructure,(基礎設施)用來存放一些公用的方法

使用Nuget安裝Microsoft.Extensions.Configuration和Microsoft.Extensions.Configuration.Json,Microsoft.Extensions.Configuration.Binder, 編輯ConfigHelper.cs,代碼如下:
namespace WebApi.Core.Infrastructure.Helpers
{
public class ConfigHelper
{
private static readonly IConfiguration _configuration;
static ConfigHelper()
{
//在當前目錄或者根目錄中尋找appsettings.json文件
var fileName = "appsettings.json";
var directory = AppContext.BaseDirectory;
directory = directory.Replace("\\", "/");
var filePath = $"{directory}/{fileName}";
if (!File.Exists(filePath))
{
var length = directory.IndexOf("/bin");
filePath = $"{directory.Substring(0, length)}/{fileName}";
}
var builder = new ConfigurationBuilder()
.AddJsonFile(filePath, false, true);
_configuration = builder.Build();
}
/// <summary>
/// 獲取Section的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetSectionValue(string key)
{
return _configuration.GetSection(key).Value;
}
/// <summary>
/// 獲取ConnectionStrings下的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetConnectionString(string key)
{
return _configuration.GetConnectionString(key);
}
}
}
讀取appsettings.json
編輯appsetting.json,添加一個紅色部分
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"ConnectionString": "Data Source=127.0.0.1;Initial Catalog=db;User ID=uid;Password=123456;Pooling=True;Max Pool Size=512;Connect Timeout=500;"
}
}
var connStr = ConfigHelper.GetConnectionString("ConnectionString");
Console.WriteLine(connStr);


