我正在嘗試配置身份以使用自定義提供程序。到目前爲止,一切都很好,我已經創建UserStore
:asp.net身份 - SetPasswordHashAsync
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;
}
...但這必須返回一個任務,我沒有看到任何異步在這裏完成。
- 爲什麼返回類型是任務
SetPasswordHashAsync
而不只是無效? - 我該如何實施
SetPasswordHashAsync
?
我知道我可以這樣做
public async Task SetPasswordHashAsync(User user, string passwordHash)
{
user.PasswordHash = passwordHash;
await Task.FromResult(0);
}
...但不是這個同步?看到用async
任務和使用await
,並且這一個返回Task.FromResult()
所有其他方法裝飾是奇怪的任何人?
我有點兒在同一個地方。你從哪裏知道你只需要在用戶本地設置散列,而不是堅持呢? –