ASP.NET使用数据库全局管理站点设置

时间:2015-11-29 22:38:18

标签: c# asp.net entity-framework

我正在开发一个项目,我需要在应用程序中存储各个区域的设置。这些设置不存储在app.config中,因为有一个管理员页面,管理员可以更改设置(客户端不希望在app.config中设置这些设置)

我试图实现一个静态类来全局访问设置,但我担心的是在静态类中使用dbcontext,因为我不认为它是最好的选择,我希望设置是强类型的现在一切都是字符串。

我不确定如何在数据库中访问我的appsettings表,并且仍然可以在整个应用程序中轻松调用,例如ConfigurationManager.AppSetting [“settingName”];

public static class AppManager
{
    private static readonly IUnitOfWork UnitOfWork = new UnitOfWork(new DatabaseContext());

    public static IEnumerable<AppSetting> GetAll()
    {
        return UnitOfWork.AppSettings.GetAll();
    }

    public static AppSetting Get(Guid id)
    {
        return UnitOfWork.AppSettings.Get(id);
    }

    public static string GetValue(string name)
    {
        return UnitOfWork.AppSettings.GetValue(name);
    }

    public static void Update(string name, string value)
    {
        var setting = UnitOfWork.AppSettings.Get(name);
        if(setting == null) return;

        setting.Value = value;

        UnitOfWork.Complete();
    }
}

0 个答案:

没有答案