0
这里是我的代码线程同步
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)开始在家庭行动漫长的过程,因为这样没有一点等待
这个过程不返回任何 2)在我的“关于”操作中,我想检查进程是否开始“主页”操作已完成或没有完成,如果没有,则等待直至完成。
我已经尝试过静态实例,但这不会对同时请求有帮助,
我也尝试过全局变量,但没有帮助,因为每个请求都获得控制器的新副本。
我的最终目标是当用户在查看索引页时,我的漫长过程应该在后台完成,我的过程需要20秒。
任何帮助,将不胜感激,
感谢
谢谢@泰森,任务是每届会议..什么将范围longRunningTask变量? – Nnp 2012-02-24 00:31:29
然后将其存储在会话状态。见上面的编辑。 – Tyson 2012-02-24 00:41:20
谢谢@tyson。我现在在TempData存储,它的工作原理。 – Nnp 2012-02-24 19:14:14