2.2.4 released
提供IConfiguration
和 IOptions
IOptionsSnapshot
的直接支持
builder.Services.AddBiwenSettings(options);
//提供对IConfiguration,IOptions的支持
builder.Configuration.AddBiwenSettingConfiguration(builder.Services,true);
@inject SiteSetting SiteSetting;
@inject WeChatSetting WeChatSetting;//直接对象注入
@inject IOptions<WeChatSetting> IOP; //通过IOptions注入初始化后不会改变
@inject IOptionsSnapshot<WeChatSetting> IOPSnapshot; //通过IOptionsSnapshot注入,更新配置后会改变
@inject IConfiguration Configuration;//IConfiguration
<p>Configuration中WeChatSetting读取配置测试</p>
@foreach (var cfg in Configuration.AsEnumerable().OrderBy(x => x.Key))
{
if (cfg.Key.StartsWith("WeChatSetting:"))
{
<p>@cfg.Key : @cfg.Value </p>
}
}
<hr />
<div>
<p>WeChatSetting IOptions方式:</p>
@{
var props = IOP.Value.GetType().GetProperties();
}
@foreach (var prop in props.Where(x => x.CanWrite && x.CanRead))
{
<p>@prop.Name : @prop.GetValue(WeChatSetting)</p>
}
</div>
<hr />
<div>
<p>WeChatSetting 直接注入的方式:</p>
@{
var props2 = WeChatSetting.GetType().GetProperties();
}
@foreach (var prop in props2.Where(x => x.CanWrite && x.CanRead))
{
<p>@prop.Name : @prop.GetValue(WeChatSetting)</p>
}
</div>