Информация об изменениях

Сообщение CSharpScript.RunAsync && Terminate от 05.02.2019 16:22

Изменено 05.02.2019 16:30 codenet

CSharpScript.RunAsync && Terminate
Привет.

хотел пощупать roslyn и наткнулся на одну проблему.
у меня есть скрип который я запускаю

await CSharpScript.RunAsync("while(true) {Thread.Sleep(1000); Console.WriteLine(""1"");}",...)


собственно вопрос в том, как прибить запущенный скрипт?

вариант 1 — передавать CancelationToken? но я не хочу внутри скрипта писать — while(token.IsCancellationRequested)...
вариант 2 — создать доп thread в котором запустить выполнение скрипта и заабортить его — что тоже не кашерно думаю


Задача — остановить \ пришибить исполнение скрипта (не важно на какой стадии он работает), есть другие способы ?
CSharpScript.RunAsync && Terminate
Привет.

хотел пощупать roslyn и наткнулся на одну проблему.
у меня есть скрип который я запускаю

await CSharpScript.RunAsync("while(true) {Thread.Sleep(1000); Console.WriteLine(""1"");}",...)


собственно вопрос в том, как прибить запущенный скрипт?

вариант 1 — передавать CancelationToken? но я не хочу внутри скрипта писать — while(token.IsCancellationRequested)...
вариант 2 — создать доп thread в котором запустить выполнение скрипта и заабортить его — что тоже не кашерно думаю


Задача — остановить \ пришибить исполнение скрипта (не важно на какой стадии он работает), есть другие способы ?



ps пока склоняюсь к new Threadи прибивать, т.к если много скриптов на await будет висеть я буду забивать ThreadPool