public WorkflowEngine(IServiceProvider serviceProvider, ITracker tracker, IDeferredTarget deferredTarget) { _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); _workflowStorage = _serviceProvider.GetService <IWorkflowStorage>() ?? throw new NullReferenceException("IWorkflowStorage"); _instanceStorage = _serviceProvider.GetService <IInstanceStorage>() ?? throw new NullReferenceException("IInstanceStorage"); _deferredTarget = deferredTarget ?? throw new NullReferenceException("IDeferredTarget"); _tracker = tracker; }
public ScriptEngine(IServiceProvider serviceProvider, ITracker tracker, IActivity root, String script, Object args = null) { _root = root; _serviceProvider = serviceProvider; _tracker = tracker; _engine = new Engine(EngineOptions); _deferredTarget = _serviceProvider.GetService <IDeferredTarget>(); var _nativeObjects = _serviceProvider.GetService <IScriptNativeObjectProvider>(); _engine.AddNativeObjects(_nativeObjects); //Console.WriteLine(script); var func = _engine.Execute(script).GetCompletionValue(); _scriptData = func.Invoke().ToObject() as ExpandoObject; if (args != null) { SetArguments(args); } }
public void Inject(IServiceProvider serviceProvider) { _deferredTarget = serviceProvider.GetService <IDeferredTarget>() ?? throw new NullReferenceException("IDeferredTarget"); }