首页 文章

如何在MVC5中设置用户的SecurityStamp?

提问于
浏览
1

我有一个MVC5,它为用户使用ASP.NET Identity . 我有一个名为Business的类,它继承自 ApplicationUser ,然后我用我的CSV文件中的条目填充数据库,但随后在数据库中它们似乎无法正常工作:

var userManager = new UserManager<Business>(new UserStore<Business>(context));

foreach (Business b in context.Businesses)
{
      userManager.UpdateSecurityStampAsync(b.Id);
}

context.SaveChanges();

请注意,最初他们的SecurityStamp在数据库中为空 . 任何想法,如何从Configuration.cs添加安全标记?

1 回答

  • 3

    您应始终使用不打算等待的非异步版本的方法 .

    userManager.UpdateSecurityStamp(b.Id);
    

    context.Businesses 更改为 context.Businesses.ToList()

    你得到的错误 There is already an open DataReader associated with this Connection which must be closed first. 可能是因为你正在迭代一个从数据库中流式传输对象的集合,同时试图通过 UpdateSecurityStamp 发出其他命令

相关问题