Multithreading 如何在c#中使用不同的请求取消正在运行的任务?
我已在Multithreading 如何在c#中使用不同的请求取消正在运行的任务?,multithreading,c#-4.0,asp.net-mvc-5,Multithreading,C# 4.0,Asp.net Mvc 5,我已在Start task按钮上启动了一项任务,单击并想使用cancel task按钮取消该任务>。但我无法找到并取消正在运行的任务 public ActionResult StartTask() { var tokenSource = new CancellationTokenSource(); CancellationToken ct = tokenSource.Token; Task.Factory.StartNew(() =>
Start task
按钮上启动了一项任务,单击并想使用cancel task
按钮取消该任务>。但我无法找到并取消正在运行的任务
public ActionResult StartTask()
{
var tokenSource = new CancellationTokenSource();
CancellationToken ct = tokenSource.Token;
Task.Factory.StartNew(() =>
{
// do some work...
}, tokenSource.Token);
return view();
}
public ActionResult CancelTask()
{
//Here i want to cancel above task.
return view();
}
提前感谢…请尝试将CancellationToken作为第二个参数传递给Task.Factory.StartNew
CancellationToken ct = tokenSource.Token;
Task.Factory.StartNew(() =>
{
// do some work...
if (ct.IsCancellationRequested)
{
// another thread decided to cancel
Console.WriteLine("task canceled");
break;
}
}, ct);
并发出tokenSource.Cancel()以取消
注意:在这里可以找到类似的线程