我读过几篇文章,不清楚正确的方法。所以我的基本想法是我可以创建一个线程并运行它,然后让控制器转到另一个视图...在那个视图中我可以对控制器上另一个方法的 jquery 调用,该方法使用计时器检查每 5 秒创建了多少行...这有意义吗?
我不需要从对长时间运行的进程的调用中返回的值。我只需要它启动,下一页将报告进度...
那么我要使用新的 async/await 吗?任务?线?
我想我不需要使用 async/await 因为我对返回值不感兴趣?
编辑:
所以你说下面的代码是一件坏事,因为我的代码已经停止运行并且对httpcontext一无所知,所以永远不会发生'catch'?
public ActionResult ValidateUnprocessedData()
{
//Check table for jobs to be started
List<TaskInstance> taskInstancesNotStarted = InstanceExpert.GetAllTaskInstancesNotStarted();
try
{
Thread thread = new Thread(() => ValidateProcesses(taskInstancesNotStarted));
thread.Start();
}
catch (Exception ex)
{
InstanceErrorExpert.LogErrorGeneric(ex.Message);
}
return View("Index");
}