c# - 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
函数中完成所有工作?
解决方案
推荐阅读
- vue.js - 使用目标 wc 构建选项时,vue-cli 不会将代码转换为 es5 或 commonjs
- javascript - 引导卡不会始终弯曲到全宽
- c# - 如何在 Angular 2 和 .net 核心中制作进度条
- angular - Angular 8:对象不支持属性或方法“包含”
- bash - 在服务器之间复制文件
- powershell - 路径中的空间给了我一个动脉瘤
- php - Wordpress & MySQL 表碎片
- javascript - 如何从 webworker 中取消 wasm 进程
- javascript - 如何使用对象 MVC 5 C# 的 Javascript 列表填充剃刀 DropDownListFor
- c# - 防止 Bound ComboBox 在应用程序启动时触发 SelectionChanged 事件