public LockProtector(IScriptLibrary scriptLibrary, LockState state) { _scriptLibrary = scriptLibrary; _state = state; EnsureNoDeadLock(); }
public ScriptEngine GetEngine() { const string EngineCacheKey = "engine:"; string cacheKey = EngineCacheKey + this.SettingsPath; var engine = (ScriptEngine)Cache.Get(cacheKey); if (engine == null) { System.Diagnostics.Debug.WriteLine("No cached engine for thread {0}", System.Threading.Thread.CurrentThread.ManagedThreadId); IScriptLibrary library = this.scriptLibraryBuilder(this); engine = ScriptEngine.MakeEngine(this.Settings.ScriptLanguage, this.Logger, this.Settings.Debug, library); List <Script.ScriptSourceElement> sourceElements = this.GetSourceElements(); engine.Load(sourceElements); var itemPolicy = new CacheItemPolicy(); itemPolicy.Priority = CacheItemPriority.NotRemovable; itemPolicy.ChangeMonitors.Add(new HostFileChangeMonitor(new List <string>() { this.SettingsPath })); Cache.Set(cacheKey, engine, itemPolicy); } return(engine); }
public override void AddLibrary(string name, IScriptLibrary libraryInstance) { if (_libraries.ContainsKey(name)) { return; } _libraries.Add(name, libraryInstance); }
/// <summary> /// for testing purposes only /// </summary> /// <param name="scriptLibrary"></param> /// <param name="state"></param> /// <param name="startprotection"></param> internal LockProtector(IScriptLibrary scriptLibrary, LockState state, bool startprotection) { _scriptLibrary = scriptLibrary; _state = state; if (startprotection) { EnsureNoDeadLock(); } }
public void AddLibrary(string name, IScriptLibrary libraryInstance) { throw new NotImplementedException(); }
public CSharpScriptEngine(ILogEvents logger, bool debug, IScriptLibrary library) : base(logger, debug, library) { }
public abstract void AddLibrary(string name, IScriptLibrary libraryInstance);
internal static ScriptEngine MakeEngine(string scriptLanguage, ILogEvents logger, bool debug, IScriptLibrary library) { logger.BuildingScriptEngine(scriptLanguage); Type t = GetScriptEngineType(scriptLanguage); var ctor = t.GetConstructor(new Type[] { typeof(ILogEvents), typeof(bool), typeof(IScriptLibrary) }); ScriptEngine engine = ctor.Invoke(new object[] { logger, debug, library }) as ScriptEngine; return(engine); }
protected ScriptEngine(ILogEvents logger, bool debug, IScriptLibrary library) { this.Logger = logger; this.Debug = debug; this.Library = library; }
public LockService(IScriptLibrary scriptLibrary, IdentifierGenerator identifierGenerator) { _scriptLibrary = scriptLibrary ?? throw new ArgumentNullException(nameof(scriptLibrary)); _identifierGenerator = identifierGenerator ?? throw new ArgumentNullException(nameof(identifierGenerator)); }
protected DotNetScriptEngine(ILogEvents logger, bool debug, IScriptLibrary library) : base(logger, debug, library) { }