Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 ASP.NET MVC 3.0:配置OutputCache属性以生成缓存控件:public_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 ASP.NET MVC 3.0:配置OutputCache属性以生成缓存控件:public

Asp.net mvc 3 ASP.NET MVC 3.0:配置OutputCache属性以生成缓存控件:public,asp.net-mvc-3,Asp.net Mvc 3,我希望OutputCache属性生成缓存控制设置为public的头。我该怎么做呢?也许这个属性代码会有所帮助 using System; using System.Web; using System.Web.Mvc; public class CacheFilterAttribute : ActionFilterAttribute { /// <summary> /// Gets or sets the cache duration in s

我希望OutputCache属性生成缓存控制设置为public的头。我该怎么做呢?

也许这个属性代码会有所帮助

using System;
using System.Web;
using System.Web.Mvc;

    public class CacheFilterAttribute : ActionFilterAttribute {
        /// <summary>
        /// Gets or sets the cache duration in seconds. The default is 10 seconds.
        /// </summary>
        /// <value>The cache duration in seconds.</value>
        public int Duration {
            get;
            set;
        }

        public CacheFilterAttribute() {
            Duration = 30;
        }

        public override void OnActionExecuted(ActionExecutedContext filterContext) {
            if (Duration <= 0) return;

            HttpCachePolicyBase cache = filterContext.HttpContext.Response.Cache;
            TimeSpan cacheDuration = TimeSpan.FromSeconds(Duration);

            cache.SetCacheability(HttpCacheability.Public);
            cache.SetExpires(DateTime.Now.Add(cacheDuration));
            cache.SetMaxAge(cacheDuration);
            cache.AppendCacheExtension("must-revalidate, proxy-revalidate");
        }
    }
使用系统;
使用System.Web;
使用System.Web.Mvc;
公共类CacheFilterAttribute:ActionFilterAttribute{
/// 
///获取或设置缓存持续时间(秒)。默认值为10秒。
/// 
///缓存持续时间(秒)。
公共整数持续时间{
得到;
设置
}
公共缓存过滤器属性(){
持续时间=30;
}
公共覆盖无效OnActionExecuted(ActionExecutedContext筛选器上下文){

如果(持续时间)OutputCache筛选器所做的一件重要事情是缓存响应(服务器端),则此属性是否会缓存响应(以便不会对每个调用执行操作)?Hi-try
[CacheFilter(持续时间=60,顺序=2)][OutputCache(持续时间=60,顺序=1]
获取或设置缓存持续时间(以秒为单位)。默认值为10秒。
public CacheFilterAttribute(){duration=30;}