项目

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");
    }
}

另请参阅

在本文档中