Example #1
0
        private SessionStateStoreData DoGet(HttpContext context, string id, bool exclusive, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actionFlags)
        {
            locked      = false;
            lockId      = null;
            lockAge     = TimeSpan.Zero;
            actionFlags = SessionStateActions.None;
            RedisSessionState state = RedisSessionState.FromJson(RedisBase.Item_Get <string>(CreateCustomKey(id)));

            if (state == null)
            {
                return(null);
            }
            RedisBase.Item_SetExpire(CreateCustomKey(id), state._timeout);
            return(CreateLegitStoreData(context, state._sessionItems, state._staticObjects, state._timeout));
        }
Example #2
0
        public override void SetAndReleaseItemExclusive(HttpContext context, string id, SessionStateStoreData item, object lockId, bool newItem)
        {
            ISessionStateItemCollection sessionItems  = null;
            HttpStaticObjectsCollection staticObjects = null;

            if (item.Items.Count > 0)
            {
                sessionItems = item.Items;
            }
            if (!item.StaticObjects.NeverAccessed)
            {
                staticObjects = item.StaticObjects;
            }

            RedisSessionState state2 = new RedisSessionState(sessionItems, staticObjects, item.Timeout);

            RedisBase.Item_Set <string>(CreateCustomKey(id), state2.ToJson(), item.Timeout);
        }
Example #3
0
        public override void CreateUninitializedItem(HttpContext context, string id, int timeout)
        {
            RedisSessionState state = new RedisSessionState(null, null, timeout);

            RedisBase.Item_Set <string>(CreateCustomKey(id), state.ToJson(), timeout);
        }
Example #4
0
 public override void RemoveItem(HttpContext context, string id, object lockId, SessionStateStoreData item)
 {
     RedisBase.Item_Remove(CreateCustomKey(id));
 }