我开始使用任务机制,我不知道如何制作
- 开始工作的方法
- 另一个取消这个。
从相同的方法进行创建和取消是有效的(就像使用 StartTask 中的注释代码一样)。
但是当我使用我的 CancelTask 方法时,它不起作用!(作业继续转动,taskProgress 继续递增)。
我的框架版本是 .NET 4,项目是 ASP.NET MVC 3
提前谢谢!
private static int taskProgress = 0;
public CancellationTokenSource ts = new CancellationTokenSource();
public ActionResult StartTask()
{
Task.Factory.StartNew(() =>
{
while (true)
{
if (ts.IsCancellationRequested)
break;
Thread.Sleep(100);
taskProgress++;
}
}, ts.Token);
//Thread.Sleep(3000);
//ts.Cancel();
return RedirectToAction("GetTaskProgress");
}
public ActionResult CancelTask()
{
ts.Cancel();
return Content("Cancelled (percentage="+taskProgress.ToString()+")");
}
public ActionResult GetTaskProgress()
{
return Content(taskProgress.ToString());
}