public void Save(ISessionStateContext context, IDictionary <string, object> values)
        {
            EnsureInitialized(context);
            var sessionState = new SessionStateStoreData(new SessionStateItemCollection().AddItems(values), new HttpStaticObjectsCollection(), _timeout);
            var data         = new SessionStateEncoding().Serialize(sessionState);

            _sessionStore.Save(SqlSessionId.Create(context.MetabasePath, context.SessionId), data);
        }
        public IDictionary <string, object> Load(ISessionStateContext context)
        {
            EnsureInitialized(context);
            var data = _sessionStore.Load(SqlSessionId.Create(context.MetabasePath, context.SessionId));

            if (data == null || data.Length == 0)
            {
                return(null);
            }
            return(ValidateItems(new SessionStateEncoding().Deserialize(data).Items).ToDictionary());
        }
 public void Abandon(ISessionStateContext context)
 {
     EnsureInitialized(context);
     _sessionStore.Abandon(SqlSessionId.Create(context.MetabasePath, context.SessionId));
 }