我正在尝试配置身份以使用自定义提供程序。到目前为止一切都很好,我创建了UserStore
:
public class UserStore : IUserStore<User>, IUserPasswordStore<User>
(已实施所有方法)和UserManager:
public UserManager(IUserStore<User> userStore)
: base(userStore)
{ }
和User是我的自定义实体,用于容纳用户。
问题在于UserStore
我有以下内容:
public async Task SetPasswordHashAsync(User user, string passwordHash)
根据我的理解,这是在创建用户之前调用的,所以我应该在这里做的是:
public Task SetPasswordHashAsync(User user, string passwordHash)
{
user.PasswordHash = passwordHash;
}
...但是这必须返回一个Task,我在这里看不到异步。
SetPasswordHashAsync
的任务而不仅仅是空白?SetPasswordHashAsync
?我知道我可以做类似
的事情public async Task SetPasswordHashAsync(User user, string passwordHash)
{
user.PasswordHash = passwordHash;
await Task.FromResult(0);
}
......但是这不同步吗?看到用async
任务修饰的所有其他方法并使用await
并且这一个返回Task.FromResult()
任何?
答案 0 :(得分:9)
任务不必是异步的。您可以按如下方式实现它:
public Task SetPasswordHashAsync(User user, string passwordHash)
{
user.PasswordHash = passwordHash;
return Task.FromResult(0);
}