通过使用Angular / .net Core模板的Asp.net Boilerplate,我看到“设置”名称空间中有一些客户端函数{get,getBoolean,getInt},这使得获取设置非常容易,但是我确实没有有关更新这些设置的任何文档。
var currentColor = abp.setting.get("SiteColorPreference");
https://aspnetboilerplate.com/Pages/Documents/Setting-Management
我期望在get方法旁边看到类似的set方法。我缺少什么,还是应该尝试为此功能提交PR?只具有吸气剂而没有二传手似乎很奇怪。
我当然可以更新用户服务并创建自己的函数来更新设置,但这似乎应该像get方法一样将其内置到框架中。
也许这不是正确的地方,但是问题的目的是我想利用本地存储来存储用户变量。例如,一个用户可能想要配置UI并拥有一个布局设置,或者每个用户都有一个他们正在使用的帐户的设置...简而言之,例如Profile Provider: https://docs.microsoft.com/en-us/dotnet/api/system.web.profile.sqlprofileprovider?view=netframework-4.7.2
答案 0 :(得分:0)
您需要根据需要创建Application Service。 我们来研究它,以更新用户主题选择。
创建一个名为UserPreferencesAppService
的应用程序服务,并添加一个类似UpdateMyThemeId()
的方法。然后在您的方法中设置用户主题,如下所示;
public class UserPreferencesAppService: ApplicationService {
const string AppPermissions.Pages_User_Settings = "AppPermissions.Pages.User.Settings"
[AbpAuthorize(AppPermissions.Pages_User_Settings)]
private async Task UpdateMyThemeId(string themeId)
{
await SettingManager.ChangeSettingForUserAsync(user, "User.Theme.Selection", themeId);
}
}
PS:我将代码写在头上。