为了账号安全,请及时绑定邮箱和手机立即绑定

UserManager 在创建许多用户时变慢

UserManager 在创建许多用户时变慢

C#
至尊宝的传说 2021-07-13 17:50:54
我有一个基于旧数据库生成许多新用户的操作,一个包含详细信息的项目被传递并用于执行这里命名为“regitem”的操作。foreach 循环遍历每个 regitem 并创建一个用户:  var user = new ApplicationUser { UserName = regitem.Email.Trim(), Email = regitem.Email.Trim(), Fname = regitem.Fname.Trim(), Lname = regitem.Lname.Trim(), OrgID = OrgID, RegistrationDate = regitem.RegistrationDate ?? DateTime.Now, LastLoginDate = regitem.LastLoginDate, EmailConfirmed = true, PhoneNumber = regitem.PhoneNumber };                        var result = UserManager.Create(user, regitem.Password);随着时间的推移 UserManager 变得越来越慢。据我了解,这是因为上下文没有被处理,更好的方法是为每个用户帐户创建实例化和处理。在控制器 UserManager 中实例化如下: private ApplicationUserManager _userManager;    public AddOldDataController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)    {        UserManager = userManager;    }    public ApplicationUserManager UserManager    {        get        {            return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();        }        private set        {            _userManager = value;        }    }我知道如何为每个用户创建处理 UserManager,但我不确定每次如何实例化。我读过 using 语句每次都会自动处理上下文,但我又不知道在这种情况下应该如何实例化。执行此操作并避免 UserManager 因重复操作而减慢速度的最佳方法是什么?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信