.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);
這樣就讀取到了。還有另外一個方法,感興趣的,可以自行去嘗試,看看是怎么用的。