簡體   English   中英

ASP.Net核心注入設置

[英]ASP.Net Core injecting setting

在ASP.Net Core中,可以使用IOptions<T>將配置值注入類中。

所以,如果我有以下appsettings.json配置:

{
  "CustomSection": {
    "Foo": "Bar"
  },
  "RootUrl": "http://localhost:12345/"
}

我可以將IOptions<CustomSection>注入到我的構造函數中(假設我已經定義了一個CustomSection類)並讀取了Foo屬性。

如何將RootUrl設置注入構造函數或不支持?

創建一個類,如下所示

public class AppSettings {
    public string RootUrl{ get; set; }
}

將其注入您的startup.cs,如下所示。

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
}

並在控制器中使用它,如下所示。

public CustomerController(IOptions<AppSettings> appSettings)
{
    [variable] = appSettings.Value;
}

如果這對您有用,請告訴我。

從文檔中使用 不可能的 選項和配置對象

選項模式允許使用自定義選項類來表示一組相關設置。 類需要為每個設置都有一個公共讀寫屬性,以及一個不帶任何參數的構造函數(例如默認構造函數)才能用作選項類。

這意味着您需要生成一個類來讀取它的配置值。 但是在你的示例中, RootUrl不能通過類構造。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM