【发布时间】:2009-10-01 06:44:37
【问题描述】:
只是想知道是否有人知道我的过滤顺序被忽略的原因...
[AcceptVerbs(HttpVerbs.Get)]
[Compress(Order = 1)]
[EnhancedOutputCache(Order = 2, Duration = 5, VaryByParam = "true", Location = OutputCacheLocation.ServerAndClient)]
public virtual ActionResult Index()
{
return View();
}
public class CompressAttribute : ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
base.OnResultExecuted(filterContext);
}
}
public class EnhancedOutputCacheAttribute : OutputCacheAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
base.OnResultExecuting(filterContext);
}
}
在这种情况下,EnhancedOutputCache 在 Compress 之前运行......我希望压缩首先发生,但它运行第二......任何想法为什么
作为旁注,我正在使用 ASP.Net MVC 2.0 preview 1...
【问题讨论】:
-
出于兴趣,你为什么要这个动作顺序?
-
在缓存之前压缩...这样只会发生一次...
标签: c# asp.net .net asp.net-mvc action-filter