我有一個被宣佈像這樣的功能:與自定義任務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() };