コード例 #1
0
ファイル: DailyCachePolicy.cs プロジェクト: keithlemon/Beef
        /// <summary>
        /// Reset the cache expiry.
        /// </summary>
        public void Reset()
        {
            Hits = 0;

            // Where the expiry is not set then set.
            DateTime now = DateTime.Now;

            if (Expiry == null)
            {
                DateTime time = now.Date;
                while (time < now)
                {
                    time = time.Add(_duration);
                    if (time.DayOfYear != now.DayOfYear)
                    {
                        time = now.Date.AddDays(1);
                    }
                }

                Expiry = CachePolicyManager.AddRandomizedOffsetToTime(time, _randomizerOffset);
                return;
            }

            // Add duration; if result is tomorrow reset to start of day tomorrow plus offset.
            DateTime temp = now.Add(_duration);

            if (temp.DayOfYear != Expiry.Value.DayOfYear)
            {
                Expiry = CachePolicyManager.AddRandomizedOffsetToTime(temp, _randomizerOffset);
            }
            else
            {
                Expiry = temp;
            }
        }
コード例 #2
0
ファイル: AbsoluteCachePolicy.cs プロジェクト: mtikoian/Beef
        /// <summary>
        /// Reset the cache expiry.
        /// </summary>
        public void Reset()
        {
            DateTime now    = Entities.Cleaner.Clean(DateTime.Now);
            DateTime?expiry = now.Add(_duration);

            if (_randomizerOffset.HasValue)
            {
                expiry = CachePolicyManager.AddRandomizedOffsetToTime(expiry.Value, _randomizerOffset.Value);
            }

            Expiry = expiry;
            Hits   = 0;
        }
コード例 #3
0
        /// <summary>
        /// Reset the cache expiry.
        /// </summary>
        public void Reset()
        {
            DateTime now    = DateTime.Now;
            DateTime?expiry = now.Add(_duration);

            if (!_maxExpiry.HasValue && _maxDuration.TotalMilliseconds > 0)
            {
                _maxExpiry = now.Add(_maxDuration);
            }

            if (_maxExpiry.HasValue && Expiry > _maxExpiry.Value)
            {
                expiry = _maxExpiry;
            }

            if (_randomizerOffset.HasValue)
            {
                expiry = CachePolicyManager.AddRandomizedOffsetToTime(expiry.Value, _randomizerOffset.Value);
            }

            Expiry = expiry;
            Hits   = 0;
        }