ASP.NET Core 讀取 Config 檔

在前一篇「ASP.NET Core Middleware」中,使用 VS.NET 2015 來建立 ASP.NET Core 專案,並了解 Middleware 。

本篇要再來看看以往寫在 Web.config 中的 Appsettings 在 ASP.NET Core 專案中,如何讀取 Configuration 資訊呢?

一、IHostingEnvironment

在透過 Kestrel 執行時,可以發現 Command 視窗中顯示的 Hosting environment 值是 Development。

那個值是在專案 Properties\lunchSettings.json 中設定的,如下,

ASP.NET Core預設的字串值有Development, Staging 及 Production。

對應的Method就是 IHostingEnvironment.IsDevelopment, IHostingEnvironment.IsStaging, IHostingEnvironment.IsProduction 及 IHostingEnvironment.IsEnvironment(自定的名稱)。

二、讀取JSON設定檔

如果我們想要JSON設定檔,就要先加入 Configuration 套件,如下,

在專案下新增 appSettings.json,然後在 Startup.cs 中透過 IConfigurationRoot 來將 json 檔案內容讀出來,如下,

public IConfigurationRoot Configuration { get; set; }
public Startup(IHostingEnvironment env)
{
	Configuration = new ConfigurationBuilder()
		.SetBasePath(env.ContentRootPath) //記得要設定BasePath,不然會找不到哦!
		.AddJsonFile("appsettings.json")
		.Build();
}

要使用時,再透過 Configuration 這個屬性讀出來,如下我們將 user 的資訊取出來顯示,

await context.Response.WriteAsync($"Hello {Configuration["user"]}!");

以下是將內容顯示在網頁上面,

參考資料

EnvironmentName.cs

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^