目的
透過強行別的模式使用appsetting設定檔資料
建立新專案
選擇ASP.NET Core Web API專案範本,並執行下一步
設定新的專案
命名你的專案名稱,並選擇專案要存放的位置。
其他資訊
直接進行下一步
設定appsetting檔案
在appsetting新增一筆json資料
"PersonalInformation": {
"Name": "Bill",
"Age": 20
}
新增model資料夾,並在裡面新增AppsettingConfig類別檔
編輯AppsettingConfig類別檔案
public class PersonalInformation {
public PersonalInformation() {
Name = string.Empty;
}
public string Name { get; set; }
public int Age { get; set; }
}
編輯Program.cs檔案
在program.cs中把appsetting的來源綁定在PersonalInformation這個class上
builder.Services.Configure<PersonalInformation>(
builder.Configuration.GetSection("PersonalInformation"));
注入所需要的地方
注入到預設的WeatherForecastController中,就可以使用。
private readonly PersonalInformation _options;
public WeatherForecastController(ILogger<WeatherForecastController> logger, IOptionsMonitor<PersonalInformation> options) {
_logger = logger;
_options = options.CurrentValue;
}
此範例使用的是IOptionsMonitor
選項模式 | 可使用singleton | 重載 | 具名選項 |
---|---|---|---|
IOptions | V | X | X |
IOptionsSnapshot | X | V | V |
IOptionsMonitor | V | V | V |
參考
選項模式 IOptions與IOptionsSnaphot與IOptionsMonitor 程式範例參考 options差別