我正在处理同事遗留的一个遗留.NET MVC项目,他使用Microsoft Identity System来处理用户身份验证。在的LoginController:为什么在代码调用FindByEmail()时实际调用FindByEmailAsync()
var user = userManager.FindByEmail(modelUserName);
if(user == null)
{
// the user was not found..
}
else
{}
后来我意识到,FindByEmail()实际上是微软在UserManagerExtension类编写的预编译功能。然而,我的同事也定义了一种叫FindByEmailAsync()类似的功能在其定制的UserManager类:
public Task<User> FindByEmailAsync(string email)
{
return ..
}
,当我调试项目,我发现在LoginController中的代码以某种方式被称为FindByEmailAsync(),当它运行“变种用户= userManager.FindByEmail(modelUserName)“,为什么呢?
你确定'FindByEmailAsync'的定义吗?它没有'override'关键字吗? – trailmax