示例#1
0
        protected override byte[] SerializeSession(object sessionData)
        {
            if (sessionData != null)
            {
                return(SessionSerializationUtil.Serialize(sessionData as SessionStateStoreData));
            }

            return(null);
        }
示例#2
0
 protected override object DeserializeSession(byte[] buffer, int timeout)
 {
     if (buffer != null)
     {
         return(SessionSerializationUtil.Deserialize(buffer));
     }
     else
     {
         return(new SessionStateStoreData(new SessionStateItemCollection(), null, timeout));
     }
 }
示例#3
0
        /// <summary>
        /// Extract session data from hastable fetched from cache
        /// </summary>
        /// <param name="context"></param>
        /// <param name="items"></param>
        /// <param name="flag"></param>
        /// <returns></returns>
        private SessionStateStoreData GetContents(HttpContext context, Hashtable items, ref SessionStateActions flag)
        {
            flag = (SessionStateActions)items[ACTIONS_KEY];
            byte[] buffer  = items[SESSION_DATA] as byte[];
            int    timeout = (int)items[TIMEOUT_KEY];

            if (buffer != null)
            {
                return(SessionSerializationUtil.Deserialize(buffer));
            }

            return(new SessionStateStoreData(new SessionStateItemCollection(), null, timeout));
        }
示例#4
0
        /// <summary>
        /// Form a hashtable to be added to cache
        /// </summary>
        /// <param name="context"></param>
        /// <param name="data"></param>
        /// <param name="flag"></param>
        /// <param name="timeout"></param>
        /// <returns></returns>
        private Hashtable InsertContents(HttpContext context, SessionStateStoreData data, SessionStateActions flag, int timeout)
        {
            Hashtable items = new Hashtable(4);

            if (data != null)
            {
                byte[] buffer = SessionSerializationUtil.Serialize(data);
                items.Add(SESSION_DATA, buffer);
                items.Add(TIMEOUT_KEY, (int)data.Timeout);
            }
            else
            {
                items.Add(TIMEOUT_KEY, (int)timeout);
            }

            items.Add(ACTIONS_KEY, flag);

            return(items);
        }