Asp.net mvc 4 如何在MVC.NET中取消任务
我有一个页面有两个命令“RUN”“Cancel”。 我的问题:当点击“取消”从任务进入“运行”取消时,怎么能取消 任务:开始一项任务 取消:退出任务TryTaskAsp.net mvc 4 如何在MVC.NET中取消任务,asp.net-mvc-4,task-parallel-library,Asp.net Mvc 4,Task Parallel Library,我有一个页面有两个命令“RUN”“Cancel”。 我的问题:当点击“取消”从任务进入“运行”取消时,怎么能取消 任务:开始一项任务 取消:退出任务TryTask CancellationTokenSource source = new CancellationTokenSource private async Task TryTask() { Task<int> task = Task.Run(() => slowFu
CancellationTokenSource source = new CancellationTokenSource
private async Task TryTask()
{
Task<int> task = Task.Run(() => slowFunc(1, 2), source.Token);
// (A canceled task will raise an exception when awaited).
source.Cancel();
await task;
}
string someString = string.Empty;
public int slowFunc(int a, int b)
{
for (int i = 0; i < 200000000; i++)
{
someString += "a";
source.Cancel();
source.Token.ThrowIfCancellationRequested();
}
return a + b;
}
public async Task<ActionResult> Cancel()
{
"how cancel slow function"
}
CancellationTokenSource=新的CancellationTokenSource
专用异步任务TryTask()
{
Task Task=Task.Run(()=>slowFunc(1,2),source.Token);
//(已取消的任务在等待时将引发异常)。
source.Cancel();
等待任务;
}
string someString=string.Empty;
公共int slowFunc(int a、int b)
{
对于(int i=0;i<200000000;i++)
{
someString+=“a”;
source.Cancel();
source.Token.ThrowIfCancellationRequested();
}
返回a+b;
}
公共异步任务取消()
{
“如何取消慢速功能”
}
MVC不是为完成这种工作而设计的。您能使用信号器吗?在IIS 8上部署时信号器取消事件无效。。但在iis7.5中没有问题的工作。