ASP.Net MVC ignores filtering order

Just wondering if anyone has an idea why my filter order is being ignored ...

[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);
    }
}

In this case, EnhancedOutputCache starts before Compress ... I want compression to happen first, but its second job ... any ideas why

As a side note, I'm using ASP.Net MVC 2.0 1 preview ...

+3
source share
1 answer

You redefine the different parts of the loop. OnResultExecuting(OnResultExecuting) in happens before OnResultExecuted(CompressAttribute).

, , , . .

+5

Source: https://habr.com/ru/post/1718979/


All Articles