コード例 #1
0
ファイル: ScriptManager.cs プロジェクト: podothecat/BSR
        public List <Dictionary <string, Type> > GetParameters(string name)
        {
            var executerFileName = ScriptList[name];
            var executer         = new PSExecutor(executerFileName);

            return(executer.Parameters);
        }
コード例 #2
0
ファイル: ScriptManager.cs プロジェクト: podothecat/BSR
        public async Task RunScript(string name, Dictionary <string, object> parameters)
        {
            var executerFileName = ScriptList[name];
            var executer         = new PSExecutor(executerFileName);

            var id = $"{name}.{Guid.NewGuid()}.{DateTime.Now.Ticks}";

            using (var logWriter = File.AppendText($"{_logPath}/{id}.log"))
            {
                executer.OnStdErrorData += async(sender, args) => await OnErrorEventHandler(logWriter, id, args);

                executer.OnStdOutData += async(sender, args) => await OnUpdateEventHandler(logWriter, id, args);

                await OnScriptStartedEventHandler(logWriter, id);

                var ret = await executer.Run(parameters);

                await OnScriptFinishedEventHandler(logWriter, id, ret);
            }
        }