예제 #1
0
 public override void SetCache(HttpCachePolicyBase cache)
 {
     if (null != cache)
     {
         cache.SetCacheability(HttpCacheability.Server);
         cache.SetExpires(DateTime.UtcNow.AddDays(1));
     }
 }
예제 #2
0
        public override void SetCache(HttpCachePolicyBase cache)
        {
            if (null == cache)
            {
                throw new ArgumentNullException("cache");
            }

            cache.SetCacheability(HttpCacheability.Public);
            cache.SetExpires(Expires);
        }
예제 #3
0
        public override void SetCache(HttpCachePolicyBase cache)
        {
            if (null == cache)
            {
                throw new ArgumentNullException("cache");
            }

            if (!Expires.HasValue)
            {
                cache.SetCacheability(HttpCacheability.NoCache);
                return;
            }

            cache.SetCacheability(HttpCacheability.Public);
            cache.SetExpires(Expires.Value);
        }
예제 #4
0
        public void Apply(HttpCachePolicyBase policy)
        {
            policy.ThrowIfNull("policy");

            if (!_hasPolicy)
            {
                return;
            }

            switch (_cacheability)
            {
                case HttpCacheability.NoCache:
                    policy.SetCacheability(_allowsServerCaching == true ? HttpCacheability.ServerAndNoCache : HttpCacheability.NoCache);
                    break;
                case HttpCacheability.Private:
                    policy.SetCacheability(_allowsServerCaching == true ? HttpCacheability.ServerAndPrivate : HttpCacheability.Private);
                    break;
                case HttpCacheability.Public:
                    policy.SetCacheability(HttpCacheability.Public);
                    break;
            }
            if (_noStore == true)
            {
                policy.SetNoStore();
            }
            if (_noTransforms == true)
            {
                policy.SetNoTransforms();
            }
            if (_clientCacheExpirationUtcTimestamp != null)
            {
                policy.SetExpires(_clientCacheExpirationUtcTimestamp.Value);
            }
            if (_clientCacheMaxAge != null)
            {
                policy.SetMaxAge(_clientCacheMaxAge.Value);
            }
            if (_allowResponseInBrowserHistory != null)
            {
                policy.SetAllowResponseInBrowserHistory(_allowResponseInBrowserHistory.Value);
            }
            if (_eTag != null)
            {
                policy.SetETag(_eTag);
            }
            if (_omitVaryStar != null)
            {
                policy.SetOmitVaryStar(_omitVaryStar.Value);
            }
            if (_proxyMaxAge != null)
            {
                policy.SetProxyMaxAge(_proxyMaxAge.Value);
            }
            if (_revalidation != null)
            {
                policy.SetRevalidation(_revalidation.Value);
            }
        }
예제 #5
0
 void SetLongLivedCacheHeaders(HttpCachePolicyBase cache, string serverETag)
 {
     cache.SetCacheability(HttpCacheability.Public);
     cache.SetETag(serverETag);
     cache.SetExpires(DateTime.UtcNow.AddYears(1));
 }
예제 #6
0
 /// <summary>
 /// Sets the cache policy.  Unless a handler overrides
 /// this method, handlers will not allow a respons to be
 /// cached.
 /// </summary>
 /// <param name="cache">Cache.</param>
 public virtual void SetResponseCachePolicy(HttpCachePolicyBase cache)
 {
     cache.SetCacheability(HttpCacheability.NoCache);
     cache.SetNoStore();
     cache.SetExpires(DateTime.MinValue);
 }
 public static void CacheForOneMonth(HttpCachePolicyBase cache)
 {
     cache.SetExpires(DateTime.Now.AddMonths(1));
     cache.SetCacheability(HttpCacheability.Public);
     cache.SetValidUntilExpires(true);
 }
예제 #8
0
파일: ncombo.cs 프로젝트: gmoothart/NCombo
 public override void SetResponseCachePolicy(HttpCachePolicyBase cache)
 {
     cache.SetCacheability(HttpCacheability.Public);
     cache.SetExpires(DateTime.Now.AddYears(10));
 }