How to cancel CSharpScript.RunAsync

1.2k views Asked by At

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

There are 1 answers

2
m0sa On

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;