.NET 6 取得appsettings檔案內容

目的

透過強行別的模式使用appsetting設定檔資料

建立新專案

選擇ASP.NET Core Web API專案範本,並執行下一步 步驟1

設定新的專案

其他資訊

直接進行下一步 步驟3

設定appsetting檔案

在appsetting新增一筆json資料

  "PersonalInformation": {
    "Name": "Bill",
    "Age": 20
  }
步驟4

新增model資料夾,並在裡面新增AppsettingConfig類別檔

步驟5

編輯AppsettingConfig類別檔案

  public class PersonalInformation {
    public PersonalInformation() {
      Name = string.Empty;
    }
    public string Name { get; set; }
    public int Age { get; set; }
  }
步驟6

編輯Program.cs檔案

在program.cs中把appsetting的來源綁定在PersonalInformation這個class上

builder.Services.Configure<PersonalInformation>(
    builder.Configuration.GetSection("PersonalInformation"));
步驟7

注入所需要的地方

注入到預設的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

步驟8

參考

選項模式 IOptions與IOptionsSnaphot與IOptionsMonitor 程式範例參考 options差別

範例檔

GitHub

Last updated