我有一個(gè)基于舊數(shù)據(jù)庫生成許多新用戶的操作,一個(gè)包含詳細(xì)信息的項(xiàng)目被傳遞并用于執(zhí)行這里命名為“regitem”的操作。foreach 循環(huán)遍歷每個(gè) regitem 并創(chuàng)建一個(gè)用戶: 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);隨著時(shí)間的推移 UserManager 變得越來越慢。據(jù)我了解,這是因?yàn)樯舷挛臎]有被處理,更好的方法是為每個(gè)用戶帳戶創(chuàng)建實(shí)例化和處理。在控制器 UserManager 中實(shí)例化如下: 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; } }我知道如何為每個(gè)用戶創(chuàng)建處理 UserManager,但我不確定每次如何實(shí)例化。我讀過 using 語句每次都會(huì)自動(dòng)處理上下文,但我又不知道在這種情況下應(yīng)該如何實(shí)例化。執(zhí)行此操作并避免 UserManager 因重復(fù)操作而減慢速度的最佳方法是什么?
- 1 回答
- 0 關(guān)注
- 207 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
