在前一篇「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"]}!");
以下是將內容顯示在網頁上面,
參考資料
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^