вот мой код
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
Thread t1 = new Thread(DoLengthyOperation);
t1.Start();
return View();
}
public ActionResult About()
{
//Check if thread t1 is completed or not, if not keep waiting.
return View();
}
public void DoLengthyOperation()
{
Thread.Sleep(10000);
}
То, что я хочу сделать, это
1) Запустить длинный процесс в действии Home, так как этот процесс ничего не возвращает, поэтому нет смысла ждать
2) в моем действии «О программе» я хочу проверить, завершен ли процесс. Действие «Домой» завершено или нет, если нет, то дождитесь его завершения.
Я пробовал статический экземпляр, но это не поможет с одновременным запросом,
Я также попробовал глобальную переменную, но это не помогло, так как каждый запрос получает новую копию контроллера.
моя конечная цель - когда пользователь смотрит на индексную страницу, мой длительный процесс должен завершиться в фоновом режиме, мой процесс займет 20 секунд.
Любая помощь будет принята,
Спасибо