【发布时间】:2019-03-27 03:01:29
【问题描述】:
我正在做两个可以(理想情况下)同时运行的调用。第一个调用最终会访问数据库,第二个调用最终会访问 Web API。问题是两个执行路径都不是异步的。我一直在尝试更熟悉 TPL,但还没有完全成熟。如果我将这两个方法调用包装在 Tasks 中并等待它们,这真的会同时执行吗?
【问题讨论】:
-
定义async,你为什么要它,你希望用它实现什么。
-
没有一个真实的例子,没有人能神奇地回答一个关于代码的理论问题。 (例如,我有一辆车辆,它可以开50 mph吗?谁知道要抽象出一个具体的答案。)
-
目标是让数据库查询和 api 调用同时运行,这样如果查询需要 1 秒,api 调用 0.5 秒,则净运行时间将是最长的两者而不是总和。
-
@erikPhillips 我不明白我如何拥有样板服务和 repo 层代码以某种方式使其更具体。这是一个非常简单的操作。
-
你混淆了
async(Async Await Pattern) 和 Asynchronous,是的,你可以让两者都运行 Asynchronously 使用任务或 Async Await 模式,前提是它们不相互依赖
标签: c# .net async-await task-parallel-library