2 回答

TA貢獻1878條經驗 獲得超4個贊
鑒于您已經創建了這樣的屬性:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
}
然后您可以訪問這些元素,如下所示:
var issuer = Configuration["JwtBearerSettings:Issuer"],

TA貢獻1804條經驗 獲得超2個贊
讀取配置的最簡單方法是一次讀取一個值。結構化數據用冒號分隔,因此您的示例變為:
var issuer = Configuration["JwtBearerSettings:Issuer"];
如果您正在閱讀大量設置,這顯然會很痛苦。因此,您可以簡單地將模型對象綁定到一個部分。例如,如果您有一個包含屬性的模型對象,比如說
class JwtBearerSettings {
public string Issuer {get;set;}
}
然后您可以使用GetSection綁定到設置對象:
var jbs = new JwtBearerSettings();
Configuration.GetSection("JwtBearerSettings").Bind(jbs);
許多庫都使用這種模式,因為它可以讓您根據需要提供盡可能少或盡可能多的配置 - 只要模型預先填充了合理的默認值。
.Net Core 支持的第三種模式可以與 DI 一起使用:
在這里您可以向服務工廠注冊您的配置模型:
var jbs = Configuration.GetSection("JwtBearerSettings");
services.Configure<JwtBearerSettings>(jbs);
并且,要在服務中引用您的設置,只需添加 IOptions 作為 ctor 參數:
public MyService(IOptions<JwtBearerSettings> jwtOptions)
{
Config = jwtOptions.Value;
}
- 2 回答
- 0 關注
- 163 瀏覽
添加回答
舉報