我有一个被宣布像这样的功能:与自定义任务C#任务重写功能
public Task<PossibleUser> FindByNameAsync(string userName)
{
Task<PossibleUser> task = context.TabelaStudenti.Where(
apu => apu.NrMatricol == userName)
.FirstOrDefaultAsync();
return task;
}
的问题是,我想从那个函数现在返回别的东西,例如,我想:
public Task<PossibleUser> FindByNameAsync(string userName)
{
Student studentUser = context.TabelaStudenti.Where(st => st.NrMatricol == userName).FirstOrDefault();
Task<PossibleUser> someTask= new Task<PossibleUser>(() =>
{
if (studentUser == null)
{
return new PossibleUser()
{
Password = studentUser.Parola,
UserName = studentUser.UserName
};
}
else
{
//just return something else
return new PossibleUser();
}
});
return someTask;
}
但它似乎没有工作,我没有得到该功能的回应。 如何修改第一个函数以返回我自己的自定义任务?
我必须指定,这个功能已经被称为是这样的:
PossibleUser user = await userManager.FindAsync(context.UserName, context.Password);
,这是的ASP.NET Web API Owin认证,其中的UserManager是
UserManagerFactory =() => new UserManager<PossibleUser>(new StudentStore()) { PasswordHasher = new MyPasswordHasher() };