Я работаю с .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();
}
Как видите, я запускаю скрипт, не спрашивая, завершен ли он, мне нужно знать, закончился ли скрипт