Blazor UI:配置管理
Blazor应用程序可以复用配置文档中介绍的相同ISettingProvider服务。
ISettingProvider
ISettingProvider用于获取单个配置值或所有配置的值。
在简单服务中的使用示例
public class MyService : ITransientDependency
{
private readonly ISettingProvider _settingProvider;
//在构造函数中注入ISettingProvider
public MyService(ISettingProvider settingProvider)
{
_settingProvider = settingProvider;
}
public async Task FooAsync()
{
//以字符串形式获取配置值
string setting1 = await _settingProvider.GetOrNullAsync("MySettingName");
//获取布尔值,如果未设置则回退到默认值(false)
bool setting2 = await _settingProvider.GetAsync<bool>("MyBoolSettingName");
//获取布尔值,如果未设置则回退到指定的默认值(true)
bool setting3 = await _settingProvider.GetAsync<bool>(
"MyBoolSettingName", defaultValue: true);
//使用IsTrueAsync快捷扩展方法获取布尔值
bool setting4 = await _settingProvider.IsTrueAsync("MyBoolSettingName");
//获取整数值,如果未设置则返回默认值(0)
int setting5 = (await _settingProvider.GetAsync<int>("MyIntegerSettingName"));
//获取整数值,如果未提供则返回null
int? setting6 = (await _settingProvider
.GetOrNullAsync("MyIntegerSettingName"))?.To<int>();
}
}
在Razor组件中的使用示例
@page "/"
@using Volo.Abp.Settings
@inject ISettingProvider SettingProvider
@code {
protected override async Task OnInitializedAsync()
{
bool settingValue = await SettingProvider.GetAsync<bool>("MyBoolSettingName");
}
}
抠丁客


