public override SessionStateStoreData GetItemExclusive(HttpContext context, string id, out bool locked, out TimeSpan lockAge,
                                                               out object lockId, out SessionStateActions actions)
        {
            var returnValue = _store.GetItemExclusive(context, id, out locked, out lockAge, out lockId, out actions);

            if (returnValue == null && lockId != null)
            {
                _store.ReleaseItemExclusive(context, id, lockId);
                returnValue = _store.GetItemExclusive(context, id, out locked, out lockAge, out lockId, out actions);
            }

            return(returnValue);
        }
 public override SessionStateStoreData GetItemExclusive(HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions)
 {
     var sessionStateStoreData = inProcSessionStore.GetItemExclusive(context, id, out locked, out lockAge, out lockId, out actions);
     if (sessionStateStoreData != null && sessionStateStoreData.Items.GetType() != typeof(T))
     {
         return new SessionStoreDataItemsInjector<T>(sessionStateStoreData);
     }
     return sessionStateStoreData;
 }
示例#3
0
    public override SessionStateStoreData GetItemExclusive(HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions)
    {
        var tmp = inProcSessionStore.GetItemExclusive(context, id, out locked, out lockAge, out lockId, out actions);

        if (tmp != null && tmp.Items.GetType() != typeof(SessionStateItemCollectionWrapper))
        {
            return(new SessionStoreDataItemsChanger(tmp));
        }
        return(tmp);
    }