Exemplo n.º 1
0
 /// <summary>
 /// 缓存
 /// </summary>
 /// <param name="instance">HttpContext扩展</param>
 /// <param name="durationInMinutes">时间</param>
 public static void CacheKD(this HttpContext instance, int durationInMinutes) {
     instance.CheckOnNull("instance");
     TimeSpan duration = TimeSpan.FromMinutes(durationInMinutes);
     HttpCachePolicy cache = instance.Response.Cache;
     cache.SetCacheability(HttpCacheability.Public);
     cache.SetExpires(DateTime.Now.Add(duration));
     cache.AppendCacheExtension("must-revalidate, proxy-revalidate");
     cache.SetMaxAge(duration);
 }
Exemplo n.º 2
0
 /// <summary>
 /// 缓存
 /// </summary>
 /// <param name="instance">HttpContext扩展</param>
 /// <param name="duration">时间差</param>
 public static void Cache(this HttpContext instance, TimeSpan duration) {
     instance.CheckOnNull("instance");
     HttpCachePolicy cache = instance.Response.Cache;
     cache.SetCacheability(HttpCacheability.Public);
     cache.SetOmitVaryStar(true);
     cache.SetExpires(instance.Timestamp.Add(duration));
     cache.SetMaxAge(duration);
     cache.SetValidUntilExpires(true);
     cache.SetLastModified(instance.Timestamp);
     cache.SetLastModifiedFromFileDependencies();
     cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
 }
Exemplo n.º 3
0
        /// <summary>
        /// gzip压缩
        /// </summary>
        /// <param name="instance">HttpContext扩展</param>
        public static void Compress(this HttpContext instance) {
            instance.CheckOnNull("instance");
            HttpRequest httpRequest = instance.Request;
            if ((httpRequest.Browser.MajorVersion < 7) && httpRequest.Browser.IsBrowser("IE")) return; //IE7以下版本不支持

            if (instance.IsEncodingAccepted("gzip")) {
                instance.Response.Filter = new GZipStream(instance.Response.Filter, CompressionMode.Compress);
                instance.SetEncoding("gzip");
            } else if (instance.IsEncodingAccepted("deflate")) {
                instance.Response.Filter = new DeflateStream(instance.Response.Filter, CompressionMode.Compress);
                instance.SetEncoding("deflate");
            }
        }