亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.NET Core Identity UserManager 使用

ASP.NET Core Identity UserManager 使用

C#
烙印99 2022-11-21 17:02:32
我一直在嘗試使用 ASP.NET Core Identity 來檢查我的數據庫中的現有用戶,當我調用 FindByEmailAsync 或 UserManager 類上的其他 Find 方法時,即使 AspNetUsers 數據庫表為空,它也會找到具有 Id 的實體我已經仔細檢查了我的 Startup.cs 文件,因為我幾乎可以肯定它一定是 DI 的東西。但是我在我的服務類中使用了這個 EntityManager,并且這個類被注冊為 Scoped。不管我輸入什么參數,總是返回一些實體:我的啟動 DI 配置:我的用戶(來自 IdentityUser):我的服務注冊(我通過 DI 使用 UserManager):我希望這些方法不會找到任何用戶實體,但由于某種原因它總是返回非空值??赡苁巧矸菥彺婊?DI 問題?
查看完整描述

1 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

FindByEmailAsync方法返回一個Task,而不是一個用戶。如果您檢查userExists變量的類型,您將看到它的類型Task<>。因此,該方法不會返回 ID 為 70 的用戶,而是返回 ID 為 70 的用戶Task。如果修改此行:

var userExists = _userManager.FindByEmailAsync("rasfafasf");

通過添加await

var userExists = await _userManager.FindByEmailAsync("rasfafasf");

您將獲得任務的實際結果,即擁有該電子郵件的用戶(null在您的情況下)。


查看完整回答
反對 回復 2022-11-21
  • 1 回答
  • 0 關注
  • 235 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號