Exemplo n.º 1
0
        public async Task RunScript(
            HellScript <HellScriptContext> script,
            Guid sessionId,
            CancellationToken cancellationToken = default)
        {
            logger.LogDebug($"Running script {script.Name}");

            using var sdkUtilServiceProvider = MakeSdkUtilServiceProvider();
            var context = new HellScriptContext(
                script.Name,
                scriptLogger,
                sessionManager.GetSession(sessionId),
                sdkUtilServiceProvider);

            await RunScript(script, context, cancellationToken);
        }
Exemplo n.º 2
0
        public async Task <TOutput> RunScript <TInput, TOutput>(
            HellScript <HellScriptContext <TInput, TOutput> > script,
            Guid sessionId,
            TInput input,
            CancellationToken cancellationToken = default)
            where TInput : class
            where TOutput : class, new()
        {
            logger.LogDebug($"Running script {script.Name}");

            using var sdkUtilServiceProvider = MakeSdkUtilServiceProvider();
            var context = new HellScriptContext <TInput, TOutput>(
                script.Name,
                scriptLogger,
                sessionManager.GetSession(sessionId),
                sdkUtilServiceProvider,
                input);

            await RunScript(script, context, cancellationToken);

            return(context.Output);
        }