如何在后台异步执行线程时加载新页面

时间:2019-06-10 19:39:38

标签: c# asynchronous redirect

在C#控制器中,我启动了一个异步任务(使用Task.Run),然后重定向到另一个页面。我的目标是在异步任务在后台运行时完全加载页面。将有一个javascript代码继续ping通Web服务器,以查看作业是否完成。但是,我注意到的是代码在执行异步线程中的加载之前执行了重定向行,这很好。但是,直到异步线程完成(即使在重定向行执行完毕之后),我的页面才开始加载。

我尝试过

Task.Run(() => someLoadingCode());

HostingEnvironment.QueueBackgroundWorkItem(a => someLoadingCode());

new Thread(() => someLoadingCode()) { IsBackground = true }.Start();

但它们都不起作用。

这是我的代码:

public void Controller()
{
    Task.Run(() => someLoadingCode());
    Response.Redirect(url);
}

由于someLoadingCode可能需要10分钟,因此我希望它在后台加载时重定向到我的新页面。重定向后,用户甚至可以单击并转到另一个页面。但是现在它不会在someLoadingCode完成之前加载我的新页面。

0 个答案:

没有答案