public static ScriptSession GetSession(string persistentId, string applicanceType, bool personalizedSettings) { // sessions with no persistent ID, are just created new every time if (string.IsNullOrEmpty(persistentId)) { return new ScriptSession(applicanceType, personalizedSettings); } lock (HttpContext.Current.Session) { if (SessionExists(persistentId)) { return HttpContext.Current.Session[sessionIdPrefix + persistentId] as ScriptSession; } var session = new ScriptSession(applicanceType, personalizedSettings); session.ID = persistentId; HttpContext.Current.Session[sessionIdPrefix + persistentId] = session; session.ID = persistentId; session.Initialize(); session.ExecuteScriptPart(session.Settings.Prescript); return session; } }