2016-12-19 15 views
3

RunAsyncを停止するにはどうすればよいですか?CSharpScript.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() 
} 

どうすればいいですか?なぜ、そのようなメソッドにはcancelTokenパラメータが必要ですか?

答えて

1

YOUTは、結果を得るまで、あなたはブロックの実行await呼び出し、前にそれを行う必要があり、例えば:

var task = script.RunAsync(cancelletionToken: cts.Token); 

cts.Cancel(); 

var result = await task; 
+0

cts.Cancel()は別の関数に既にあります。また、UIスレッド上にある必要があります。 –

関連する問題