我尝试在我的ASP.NET核心应用中创建50个种子用户帐户,但在第一次调用_userManager.CreateAsync
后,_userManager
被处理掉了。对我来说,我的代码看起来与帐户控制器中的注册代码相同。
我的代码:
var generatedUsers = await GetRandomUsers();
foreach (var generatedUser in generatedUsers)
{
var newUser = new ApplicationUser
{
UserName = generatedUser.Email,
Email = generatedUser.Email,
DisplayUserName = "Boo"
};
var result = await _userManager.CreateAsync(newUser,"123Abc!");
}
以下是来自AccountController.cs的相关注册码,可以重复使用:
var user = new ApplicationUser { UserName = model.Email, Email = model.Email, DisplayUserName = model.DisplayUserName};
var result = await _userManager.CreateAsync(user, model.Password);
第一次调用后,我的CreateAsync
返回成功,数据库有新的用户记录。第二次通过循环_userManager
被处置。
我做错了吗?
答案 0 :(得分:0)
经过长时间的调查后,我想出来了:
因为我正在等待"然后主要请求完成,并且在等待的中间操作完成之前处理UserManager - 例如我的HttpClient请求或我的用户创建活动。 UserManager生命周期显然是按请求。