c# – asp.net identity – SetPasswordHashAsync
发布时间:2020-12-15 08:25:13 所属栏目:百科 来源:网络整理
导读:我正在尝试配置身份以使用自定义提供程序.到目前为止一切都很好,我创建了UserStore: public class UserStore : IUserStoreUser,IUserPasswordStoreUser (实现所有方法)和UserManager: public UserManager(IUserStoreUser userStore) : base(userStore) { }
我正在尝试配置身份以使用自定义提供程序.到目前为止一切都很好,我创建了UserStore:
public class UserStore : IUserStore<User>,IUserPasswordStore<User> (实现所有方法)和UserManager: public UserManager(IUserStore<User> userStore) : base(userStore) { } 用户是我的自定义实体来容纳用户. 问题是在UserStore中我有以下内容: public async Task SetPasswordHashAsync(User user,string passwordHash) 根据我的理解,这是在用户创建之前调用的,所以我应该在这里做的是: public Task SetPasswordHashAsync(User user,string passwordHash) { user.PasswordHash = passwordHash; } …但是这必须返回一个Task,我在这里看不到异步. >为什么返回类型是SetPasswordHashAsync的Task而不仅仅是void? 我知道我可以做点什么 public async Task SetPasswordHashAsync(User user,string passwordHash) { user.PasswordHash = passwordHash; await Task.FromResult(0); } ……但这不是同步的吗?看到用异步Task修饰的所有其他方法并使用await,并且这个返回Task.FromResult()是很奇怪的 任何人? 解决方法
任务不必是异步的.您可以按如下方式实现它:
public Task SetPasswordHashAsync(User user,string passwordHash) { user.PasswordHash = passwordHash; return Task.FromResult(0); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |