问题
How can I stop RunAsync?
CancellatioTokenSource cts = new CancellationTokenSource();
//I thought that it's must work, but it don't
var script = CSharpScript.Create(code: someCode);
await script.RunAsync(cancelletionToken: cts.Token);
void button_click()
{
cts.Cancel()
}
How else can I do this. And for why such methods need cancellationToken parameter?
回答1:
You must do it before the await
call, which blocks execution until yout get results, e.g.:
var task = script.RunAsync(cancelletionToken: cts.Token);
cts.Cancel();
var result = await task;
来源:https://stackoverflow.com/questions/41223259/how-to-cancel-csharpscript-runasync