新手问题在这里!
最初,我们有以下设置,在这种情况下,我使用WebClient.DownloadStringTaskAsync与异步任务。我的理由是因为我正在拨打DB电话。
网页 - > Web API控制器 - > DB
出于安全原因,我们添加了另一个层,现在网页向Web Api Controller发出ajax请求,从而将Web Api控制器转换为Perl REST服务。
网页 - > Web API控制器 - > Perl REST服务 - > DB
由于Web API Controller没有直接访问数据库,我可以不使用异步任务吗?
我想我的问题是我何时应该使用异步任务?
谢谢!
答案 0 :(得分:2)
如果您的Web API控制器操作不是async
,则在您等待Perl REST服务(和数据库)时,无法将用于此HTTP请求的线程返回给线程池回复。因此,它被阻止,不能用于处理对API的其他HTTP请求。