public void TestResetItemTimeout() { var config = new NameValueCollection(_sessionConfig); var provider = new MongoSessionStateStore(); provider.Initialize(DefaultSessionName, config); var context = CreateHttpContext(); var sessionId = GenerateSessionId(); provider.CreateUninitializedItem(context, sessionId, 0); // Give the session a chance to expire. Thread.Sleep(100); // Now reset the timeout. provider.ResetItemTimeout(context, sessionId); bool locked; TimeSpan lockAge; object lockId; SessionStateActions actions; var storeData = provider.GetItem(context, sessionId, out locked, out lockAge, out lockId, out actions); // Give the lock a chance to accumulate age. Thread.Sleep(100); Assert.IsNotNull(storeData); Assert.IsFalse(locked); Assert.Greater(lockAge, TimeSpan.Zero); Assert.AreNotEqual(ObjectId.Empty, lockId); }