Exemple #1
0
        private void OnBeforeAccess(TokenCacheNotificationArgs args)
        {
            var serializedCacheItem = cache.GetString(CacheKey);

            if (serializedCacheItem == null)
            {
                return;
            }

            var cacheItem = JsonConvert.DeserializeObject <UserTokenCacheItem>(serializedCacheItem);

            if (currentCacheItem == null || currentCacheItem.LastWrite < cacheItem.LastWrite)
            {
                currentCacheItem = cacheItem;
                Deserialize(currentCacheItem.Payload);
            }
        }
Exemple #2
0
        private void OnAfterAccess(TokenCacheNotificationArgs args)
        {
            if (HasStateChanged)
            {
                var cacheItem = new UserTokenCacheItem
                {
                    Payload   = Serialize(),
                    LastWrite = DateTimeOffset.Now
                };

                var cacheOptions = new DistributedCacheEntryOptions
                {
                    AbsoluteExpirationRelativeToNow = TimeSpan.FromDays(14)
                };
                cache.SetString(CacheKey, JsonConvert.SerializeObject(cacheItem), cacheOptions);

                HasStateChanged = false;
            }
        }