相关疑难解决方法(0)

何时是使用Task.Result而不是等待Task的最佳位置

虽然我已经在.NET中使用异步代码了一段时间,但我最近才开始研究它并了解正在发生的事情.我刚刚完成了我的代码并试图改变它,所以如果一项任务可以与某些工作并行完成,那么它就是.例如:

var user = await _userRepo.GetByUsername(User.Identity.Name);

//Some minor work that doesn't rely on the user object

user = await _userRepo.UpdateLastAccessed(user, DateTime.Now);

return user;
Run Code Online (Sandbox Code Playgroud)

现在变成:

var userTask = _userRepo.GetByUsername(User.Identity.Name);

//Some work that doesn't rely on the user object

user = await _userRepo.UpdateLastAccessed(userTask.Result, DateTime.Now);

return user;
Run Code Online (Sandbox Code Playgroud)

我的理解是现在正在从数据库中获取用户对象WHILST正在进行一些不相关的工作.但是,我看到的帖子暗示结果应该很少使用,等待是首选但我不明白为什么我要等待我的用户对象被提取,如果我可以执行一些其他独立的逻辑同时?

.net c# asynchronous async-await

7
推荐指数
3
解决办法
4750
查看次数

标签 统计

.net ×1

async-await ×1

asynchronous ×1

c# ×1