Как отменить CSharpScript.RunAsync
Как я могу остановить 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()
}
Как еще я могу это сделать. И для чего таким методам нужен параметр cancellationToken?
1 ответ
Вы должны сделать это до await
вызов, который блокирует выполнение, пока вы не получите результаты, например:
var task = script.RunAsync(cancelletionToken: cts.Token);
cts.Cancel();
var result = await task;