私は私の同僚が残した1つのレガシー.NET MVCプロジェクトで働いていて、彼は、ユーザ認証に対処するには、Microsoft IDシステムを使用しています。 LoginControllerで:コードがFindByEmailを呼び出したときに、それは実際に()FindByEmailAsyncを呼び出し、なぜ()
var user = userManager.FindByEmail(modelUserName);
if(user == null)
{
// the user was not found..
}
else
{}
後、私はFindByEmail()は実際にUserManagerExtensionクラスにマイクロソフトによって書かれたプリコンパイルされた関数であることに気づきました。しかし、私の同僚はまた彼のカスタマイズされたUserManagerクラスでFindByEmailAsync()と呼ばれる別の同様の機能を定義しています
public Task<User> FindByEmailAsync(string email)
{
return ..
}
を、私はプロジェクトをデバッグするとき、それは「VaRのユーザーを実行したとき、私は何とかFindByEmailAsync()と呼ばれるLoginControllerのコードを見つけました= userManager.FindByEmail(modelUserName) "、なぜですか?
あなたは 'FindByEmailAsync'の定義についてよろしいですか? 'override'キーワードはありませんか? – trailmax