Skip to content

2.2.4 released

Compare
Choose a tag to compare
@vipwan vipwan released this 16 May 17:37
· 52 commits to master since this release

提供IConfigurationIOptions 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>