前言
最近透過Bot Framework v4 SDK Templates for Visual Studio來建立 Bot 時,
在Program.cs及Startup.cs都有透過ConfigurationBuilder把appsettings.json加進它的 Sources 之中Program.cs的程式是在CreateHostBuilder,如下,
1 | public static IHostBuilder CreateHostBuilder(string[] args) => |
Startup.cs是在 ConfigureServices Method 之中,
1 | public void ConfigureServices(IServiceCollection services) |
研究
所以在program.cs加上中斷點來看一下,appsettings.json是否已存在ConfigurationBuilder的 Sources 之中,
可以發現,透過config.AddJsonFile("appsettings.json"後ConfigurationBuilder的 Sources 又多了一個appsettings.json。
所以,在Program.cs及Startup.cs的AddJsonFile把appsettings.json加進去的程式碼是可以不用寫的。
除非,在環境變數中有設定值,你要透過appsettings.json把它蓋過去。
預設的 Configuration 優先序請參考ASP.NET Core 的設定
那如果在ConfigureServices要用到IConfiguration怎麼辦呢?
就注入它後,拿來用就行了
1 | public Startup(IConfiguration configuration) |
參考資源
Bot Framework v4 SDK Templates for Visual Studio
ASP.NET Core 的設定
一吊錢在門限上(裡外都是半吊): 留一半,用一半