Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
        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");
 }