Beispiel #1
0
 public override void SetAndReleaseItemExclusive(HttpContext context, string sessionID, SessionStateStoreData item, object lockId, bool newItem)
 {
     lock (_sessionItemsBySessionIdDict)
     {
         if (!_sessionItemsBySessionIdDict.ContainsKey(sessionID))
         {
             _sessionItemsBySessionIdDict.Add(sessionID, new SessionItemsWithExpiration(item.Items, item.Timeout));
         }
         else
         {
             _sessionItemsBySessionIdDict[sessionID] = new SessionItemsWithExpiration(item.Items, item.Timeout);
         }
     }
 }
Beispiel #2
0
 // ReSharper disable once InconsistentNaming
 public override void CreateUninitializedItem(HttpContext context, string sessionID, int timeout)
 {
     // SLG 2/22/2019 - Getting some errors here I can't readily reproduce, adding some debugging code
     // to see if I can't understand it better next time it recurs.
     Check.EnsureNotNull(context, "Not expecting context to be null (although not used by function currently)");
     Check.EnsureNotNull(sessionID, "Not expecting SessionID to be null");
     Check.EnsureNotNull(_sessionItemsBySessionIdDict, "Session dict must not be null");
     if (!_sessionItemsBySessionIdDict.ContainsKey(sessionID))
     {
         var sessionItemsWithExpiration = new SessionItemsWithExpiration(new SessionStateItemCollection(), timeout);
         Check.EnsureNotNull(sessionItemsWithExpiration, "Newly created session items must not be null");
         _sessionItemsBySessionIdDict.Add(sessionID, sessionItemsWithExpiration);
     }
 }