使我的身份2.0自定义扩展方法线程安全

时间:2017-07-06 00:58:47

标签: asp.net asp.net-identity asp.net-mvc-5

所以我创建了一个用于保存用户设置的类,并将其保存为JSON字符串,这样我就可以随时修改它,而无需在每次添加一个设置时进行迁移。

无论如何一切都工作得很好,直到,异常,我进一步研究它,我发现它是线程安全的东西,但我真的不明白它们是什么意思,我的简单函数如何访问实体身份dbcontext,不是线程安全吗?

    public static AppUserSettings GetUserSettings(this IIdentity identity)
    {
        var user = IdentityDbContext.Users.Find(identity.GetUserId());
        return user.SettingsClass != null ? JsonConvert.DeserializeObject<AppUserSettings>(user.SettingsClass) : new AppUserSettings();
    }

和妹妹的功能:

    public static void SetUserSettings(this IIdentity identity, AppUserSettings toSaveUserSettings)
    {
        var user = IdentityDbContext.Users.Find(identity.GetUserId());
        user.SettingsClass = JsonConvert.SerializeObject(toSaveUserSettings);
        DatabaseUtil.SaveChanges(IdentityDbContext);
    }

感谢任何帮助,如果需要,我可以附加其他类和/或片段,但我觉得它主要是身份/实体问题。

0 个答案:

没有答案