public void SetAndReleaseItem(System.Web.HttpContext context, string id, System.Web.SessionState.SessionStateStoreData item, object lockId, bool newItem)
        {
            MemcachedSessionDo session;

            if (newItem)
            {
                session = new MemcachedSessionDo()
                {
                    Created         = DateTime.Now,
                    ApplicationName = "",
                    Locked          = false,
                    LockId          = 0,
                    Flags           = (Int32)SessionStateActions.None,
                    LockDate        = DateTime.Now,
                    SessionItem     = Serialize((SessionStateItemCollection)item.Items),
                };
                client.Store(StoreMode.Set, id, session, DateTime.Now.AddMinutes(sessionStateSection.Timeout.TotalMinutes));
            }
            else
            {
                session = client.Get <MemcachedSessionDo>(id);
                if (session != null)
                {
                    session.Locked      = false;
                    session.SessionItem = Serialize((SessionStateItemCollection)item.Items);
                    client.Store(StoreMode.Set, id, session, DateTime.Now.AddMinutes(sessionStateSection.Timeout.TotalMinutes));
                }
            }
        }
        public void CreateUninitializedItem(System.Web.HttpContext context, string id, int timeout)
        {
            var session = new MemcachedSessionDo()
            {
                ApplicationName = "",
                Locked          = false,
                LockId          = 0,
                LockDate        = DateTime.Now,
                Created         = DateTime.Now,
                Flags           = 1
            };

            client.Store(StoreMode.Set, id, session, DateTime.Now.AddMinutes(sessionStateSection.Timeout.TotalMinutes));
        }