public bool StopSession(IUser user) { return(ScriptContexts.Keys .ToList() .Where(c => c.Id.Equals(user.Id, StringComparison.OrdinalIgnoreCase)) .All(c => ScriptContexts.Remove(c))); }
public IScriptContext StartSession(IDependencyContainer container, IUser user, string providerName) { var context = GetScriptContext(user); if (context != null) { return(context); } var provider = GetScriptingProvider(container, providerName); if (provider != null) { context = provider.CreateScriptContext(container); context.SetGlobalVariables(); context.SetGlobalVariable("me", user); ScriptContexts.Add(user, context); return(context); } return(null); }