等待阻止请求

时间:2018-09-19 07:31:09

标签: c# asp.net-mvc async-await

我的控制器中有一个操作,其中有一个async函数调用

 public  async Task<ActionResult> Subscribe(AspNetUser user, string newUploadPath)
 {
    //do some work
    await DocServiceImpl.CopyUserAllModels(user, newUploadPath);
    //do some work
    return RedirectToAction("List", "ClientDashboard");
 }

并且此函数将大量文件上传到Azure CDN,因此耗时太长。

问题在于发出此请求的客户端必须等待CopyUserAllModels函数完成,因为所有等待时间都在客户端看到其页面的浏览器中重新加载。

我试图一点都不等,并且在没有await的情况下使用

DocServiceImpl.CopyUserAllModels(user, newUploadPath);

但是我搜索到这是一个糟糕的经历,除了它, 在这种情况下,我发现部分文件根本没有上传,因此 如果没有await,就我而言,它无法正常工作(我不明白为什么)。

我的问题是:如何更早完成请求,然后在完成CopyUserAllModels函数中的所有工作之后?

0 个答案:

没有答案