Exemplo n.º 1
0
        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;
            }
        }