簡體   English   中英

ASP.NET Core CreateAsync引發ObjectDisposedException

[英]ASP.NET Core CreateAsync raises ObjectDisposedException

我試圖在我的ASP.NET Core應用程序中創建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

難道我做錯了什么?

經過長時間的調查,我發現:

由於我正在“等待”異步進程,因此主要請求完成,並且UserManager在等待的中間操作完成之前被處置-例如我的HttpClient請求或用戶創建活動。 UserManager的生存期顯然是每個請求的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM