protected override byte[] SerializeSession(object sessionData) { if (sessionData != null) { return(SessionSerializationUtil.Serialize(sessionData as SessionStateStoreData)); } return(null); }
protected override object DeserializeSession(byte[] buffer, int timeout) { if (buffer != null) { return(SessionSerializationUtil.Deserialize(buffer)); } else { return(new SessionStateStoreData(new SessionStateItemCollection(), null, timeout)); } }
/// <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)); }
/// <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); }