Ejemplo n.º 1
0
        public void LockSessionAndReleaseLock()
        {
            var sessionStore = new SessionStore("test");

            byte[]  serializedItems = Serialize((SessionStateItemCollection)item.Items);
            Binary  sessionItems    = new Binary(serializedItems);
            string  id      = Guid.NewGuid().ToString();
            Session session = new Session(id, this.ApplicationName, this.Timeout, sessionItems, item.Items.Count, SessionStateActions.None);

            sessionStore.Insert(session);
            DateTime timestamp = DateTime.Now;

            session.LockID = 1;
            sessionStore.LockSession(session);
            Session lockedSesssion = sessionStore.Get(id, this.ApplicationName);

            Assert.AreEqual(true, lockedSesssion.Locked);
            Assert.AreEqual(1, session.LockID);
            Assert.AreNotEqual(session.LockDate, lockedSesssion.LockDate);
            Assert.AreEqual(0, lockedSesssion.Flags);
            sessionStore.ReleaseLock(lockedSesssion.SessionID, lockedSesssion.ApplicationName, lockedSesssion.LockID, item.Timeout);
            Session unlockedSession = sessionStore.Get(id, this.ApplicationName);

            Assert.AreEqual(false, unlockedSession.Locked);
            Assert.AreEqual(lockedSesssion.LockDate, unlockedSession.LockDate);
            Assert.AreNotEqual(lockedSesssion.Expires, unlockedSession.Expires);
        }