【发布时间】:2015-05-12 18:32:31
【问题描述】:
我正在尝试配置身份以使用自定义提供程序。到目前为止一切顺利,我创建了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;
}
...但这必须返回一个任务,我在这里看不到任何异步操作。
- 为什么
SetPasswordHashAsync的返回类型是 Task 而不仅仅是 void? - 我应该如何实现
SetPasswordHashAsync?
我知道我可以做类似的事情
public async Task SetPasswordHashAsync(User user, string passwordHash)
{
user.PasswordHash = passwordHash;
await Task.FromResult(0);
}
...但这不是同步的吗?看到所有其他方法都用asyncTask 装饰并使用await,而这个返回Task.FromResult(),这很奇怪
有人吗?
【问题讨论】:
-
我有点在同一个地方。你从哪里得知你只需要在本地设置用户的哈希值而不是持久化它?
标签: c# asp.net asynchronous asp.net-identity