在ASP.NET Core2.2RazorPages应用程序中,我希望执行一个冗长的任务,然后立即向客户端返回一条消息,如果长期运行的任务按预期完成,则执行另一个任务。
我尝试了下面的代码,但是它似乎会导致应用程序挂起长时间运行的任务的整个长度。
public async Task<IActionResult> OnPost()
{
if (ModelState.IsValid)
{
Task<int> TASK_A = sql_operationA();
TASK_A.ContinueWith(async result => {
if (await result > 0)
sql_operationB());
});
RequestSuccess = true;
StatusMessage = "TASK A WAS A SUCCESS PLEASE ALLOW 2-3 MINUTES TO SEE YOUR RESULTS.";
}
return Page();
}发布于 2019-10-18 11:36:35
async-await不会改变HTTP的工作方式:一个请求有一个响应。
如果需要服务器向客户端发送请求响应以外的其他内容,请使用类似于SignalR的内容。
https://stackoverflow.com/questions/58443367
复制相似问题