何时使用HttpClient或WebClient进行异步任务

时间:2014-06-05 13:17:03

标签: asp.net-web-api webclient

新手问题在这里!

最初,我们有以下设置,在这种情况下,我使用WebClient.DownloadStringTaskAsync与异步任务。我的理由是因为我正在拨打DB电话。

网页 - > Web API控制器 - > DB

出于安全原因,我们添加了另一个层,现在网页向Web Api Controller发出ajax请求,从而将Web Api控制器转换为Perl REST服务。

网页 - > Web API控制器 - > Perl REST服务 - > DB

由于Web API Controller没有直接访问数据库,我可以不使用异步任务吗?

我想我的问题是我何时应该使用异步任务?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您的Web API控制器操作不是async,则在您等待Perl REST服务(和数据库)时,无法将用于此HTTP请求的线程返回给线程池回复。因此,它被阻止,不能用于处理对API的其他HTTP请求。