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 void SaveUserStateValue(string state)
 {
     TokenCacheLock.EnterWriteLock();
     _httpContext.Session.SetString(_cacheId + "_state", state);
     TokenCacheLock.ExitWriteLock();
 }