2019年5月8日 星期三

ASP.NET Core 的內建 DI

以讀取預設的 appsetting.json 為例
  1. {
  2. "Logging": {
  3. "LogLevel": {
  4. "Default": "Warning"
  5. }
  6. }
  7. }
  8.  
  9.  
建立存放 appsetting.json 的類別 MySetting.cs
  1. public class MySetting
  2. {
  3. public Logging Logging { get; set; }
  4. }
  5. public class Logging
  6. {
  7. public LogLevel LogLevel { get; set; }
  8. }
  9. public class LogLevel
  10. {
  11. public string Default { get; set; }
  12. }
  13.  
  14.  
在 Startup.cs 的 ConfigureServices 中註冊
  1. public void ConfigureServices(IServiceCollection services)
  2. {
  3. services.Configuremysetting>(Configuration);
  4. services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
  5. }
  6.  
  7.  
在 Controller 中使用 IOptions <mysetting>注入
  1. public class HomeController : Controller
  2. {
  3. private IOptionsmysetting myOption;
  4. public HomeController(IOptionsmysetting _option)
  5. {
  6. myOption = _option;
  7. }
  8. }
  9.  
  10.  

沒有留言:

Visual Studio 2017/2019 推薦的擴充功能與更新

參考文章: 覺得 Google 的 Blogger 不太順手?透過 HTML 的 iframe 移花接木 HackMD