【发布时间】:2016-12-14 04:49:01
【问题描述】:
我一直在阅读 UserManager.cs 的源代码,我已经进入了以下块:
public virtual Task<TUser> GetUserAsync(ClaimsPrincipal principal)
{
if (principal == null)
{
throw new ArgumentNullException(nameof(principal));
}
var id = GetUserId(principal);
return id == null ? Task.FromResult<TUser>(null) : FindByIdAsync(id);
}
我一直很好奇上面的内容不是这样的原因:
public virtual async Task<TUser> GetUserAsync(ClaimsPrincipal principal)
{
if (principal == null)
{
throw new ArgumentNullException(nameof(principal));
}
var id = GetUserId(principal);
return id == null ? await Task.FromResult<TUser>(null) : await FindByIdAsync(id);
}
如你所见,我只添加了 async/await。
*我正在用另一个 ORM 实现 UserManager 类。
【问题讨论】:
标签: asp.net async-await task-parallel-library asp.net-identity