public TokenCache GetUserCache()
 {
     TokenCacheLock.EnterWriteLock();
     UsertokenCache.SetBeforeAccess(BeforeAccessNotification);
     UsertokenCache.SetAfterAccess(AfterAccessNotification);
     TokenCacheLock.ExitWriteLock();
     return(UsertokenCache);
 }
        public override void Persist()
        {
            TokenCacheLock.EnterWriteLock();

            UsertokenCache.HasStateChanged = false;

            _httpContext.Session.Set(_cacheId, UsertokenCache.Serialize());
            TokenCacheLock.ExitWriteLock();
        }
        public override string ReadUserStateValue()
        {
            string state = string.Empty;

            TokenCacheLock.EnterReadLock();
            state = (string)_httpContext.Session.GetString(_cacheId + "_state");
            TokenCacheLock
            .ExitReadLock();
            return(state);
        }
 public override void SaveUserStateValue(string state)
 {
     TokenCacheLock.EnterWriteLock();
     _httpContext.Session.SetString(_cacheId + "_state", state);
     TokenCacheLock.ExitWriteLock();
 }
 public override void Load()
 {
     TokenCacheLock.EnterReadLock();
     UsertokenCache.Deserialize(_httpContext.Session.Get(_cacheId));
     TokenCacheLock.ExitReadLock();
 }