Roslyn Scripting - снова запустите скрипт - PullRequest
0 голосов
/ 14 ноября 2018

Я работаю с .NET Core и компилирую несколько скриптов .CSX с Roslyn. Я хотел проверить, можно ли отслеживать запущенные сценарии, чтобы знать, когда заканчивается конкретный сценарий, и запускать только тот, который уже завершен.

Я оставляю пример того, как я сейчас работаю:

Создание скрипта (делегат)

Это действие выполняется несколько раз, чтобы создать список ScriptRunner со всем сценарием, который мне нужно выполнить

var script = CSharpScript.Create(
                    code: scriptCode,
                    options: ScriptOptions.Default
                    .WithReferences(referencias.Split(","))).
                    ContinueWith(instrucciones).CreateDelegate();

Выполнение скрипта

Затем все созданные скрипты выполняются следующим образом:

            foreach (var script in listadoScriptsCreados)
            {
                Task.Run(async () => { await script(); });                   
                Task.Delay(TimeSpan.FromMilliseconds(ejecucion.Intervalo)).Wait();
            }

Как видите, я запускаю скрипт, не спрашивая, завершен ли он, мне нужно знать, закончился ли скрипт

...