public HttpSession GetHttpSession(HttpContext context, string sessionID)
        {
            // By design: the lock is on session state. Only one request (to the same session) is allowed at the same time.
            // The reason for this is because there is no locking code for accessing an object in session.
            HttpSession httpSession = null;

            if (context != null)
            {
                lock (this.SyncRoot)
                {
                    if (_sessions.ContainsKey(sessionID))
                    {
                        httpSession = GetSession(sessionID) as HttpSession;
                    }
                    else
                    {
                        httpSession = new HttpSession(this, sessionID);//Never handled as a new Session
                        log.Debug(__Res.GetString(__Res.Session_Create, httpSession.Id));
                        httpSession.AddSessionDestroyedListener(this);
                        _sessions[httpSession.Id] = httpSession;
                        //Renew(httpSession, context.Session.Timeout);
                    }
                }
            }
            return(httpSession);
        }
 public HttpSession GetHttpSession(HttpContext context)
 {
     HttpSession httpSession = null;
     if (context != null && context.Session != null)
     {
         lock (this.SyncRoot)
         {
             if (_sessions.ContainsKey(context.Session.SessionID))
             {
                 httpSession = GetSession(context.Session.SessionID) as HttpSession;
             }
             else
             {
                 httpSession = new HttpSession(this, context.Session.SessionID);
                 log.Debug(__Res.GetString(__Res.Session_Create, httpSession.Id));
                 httpSession.AddSessionDestroyedListener(this);
                 context.Session[HttpSession.FluorineSessionAttribute] = httpSession.Id;
                 _sessions[context.Session.SessionID] = httpSession;
                 Renew(httpSession, context.Session.Timeout);
             }
         }
     }
     //Session state is not enabled, <sessionState mode="Off"/>
     return httpSession;
 }
        public HttpSession GetHttpSession(HttpContext context)
        {
            HttpSession httpSession = null;

            if (context != null && context.Session != null)
            {
                lock (this.SyncRoot)
                {
                    if (_sessions.ContainsKey(context.Session.SessionID))
                    {
                        httpSession = GetSession(context.Session.SessionID) as HttpSession;
                    }
                    else
                    {
                        httpSession = new HttpSession(this, context.Session.SessionID);
                        log.Debug(__Res.GetString(__Res.Session_Create, httpSession.Id));
                        httpSession.AddSessionDestroyedListener(this);
                        context.Session[HttpSession.FluorineSessionAttribute] = httpSession.Id;
                        _sessions[context.Session.SessionID] = httpSession;
                        Renew(httpSession, context.Session.Timeout);
                    }
                }
            }
            //Session state is not enabled, <sessionState mode="Off"/>
            return(httpSession);
        }
 public HttpSession GetHttpSession(HttpContext context, string sessionID)
 {
     // By design: the lock is on session state. Only one request (to the same session) is allowed at the same time.
     // The reason for this is because there is no locking code for accessing an object in session.
     HttpSession httpSession = null;
     if (context != null)
     {
         lock (this.SyncRoot)
         {
             if (_sessions.ContainsKey(sessionID))
             {
                 httpSession = GetSession(sessionID) as HttpSession;
             }
             else
             {
                 httpSession = new HttpSession(this, sessionID);//Never handled as a new Session
                 log.Debug(__Res.GetString(__Res.Session_Create, httpSession.Id));
                 httpSession.AddSessionDestroyedListener(this);
                 _sessions[httpSession.Id] = httpSession;
                 //Renew(httpSession, context.Session.Timeout);
             }
         }
     }
     return httpSession;
 }