C# ASP.NET MVC:按OutputCache属性中的HTTP状态代码进行筛选/更改
在我正在编写的ASP.NET MVC站点中,我正在构建一个由HttpModule路由到的通用错误操作。在这个操作中,我将返回一个与应用于HttpModule内部响应的状态代码相对应的视图(执行此操作后,模块将请求转移到相关操作) 这很好,只是我想实现缓存。我不想在不进行过滤/更改的情况下使用C# ASP.NET MVC:按OutputCache属性中的HTTP状态代码进行筛选/更改,c#,asp.net,asp.net-mvc,caching,outputcache,C#,Asp.net,Asp.net Mvc,Caching,Outputcache,在我正在编写的ASP.NET MVC站点中,我正在构建一个由HttpModule路由到的通用错误操作。在这个操作中,我将返回一个与应用于HttpModule内部响应的状态代码相对应的视图(执行此操作后,模块将请求转移到相关操作) 这很好,只是我想实现缓存。我不想在不进行过滤/更改的情况下使用OutputCache属性,因为这意味着页面将被缓存一次。我希望对每个可能的状态代码缓存一次页面 是否可以通过某种方式过滤/更改OutputCacheAttribute的属性,以便分别缓存每个Response
OutputCache
属性,因为这意味着页面将被缓存一次。我希望对每个可能的状态代码缓存一次页面
是否可以通过某种方式过滤/更改
OutputCacheAttribute
的属性,以便分别缓存每个Response.StatusCode?您当前如何处理发送到错误操作的路由,例如,您可以:
/Errors/404
/Errors/500
所有这些都指向完全相同的操作,缓存将为您处理,因为它们是独立的URL,并且您将OutputCache属性应用于一般错误操作一次:
[OutputCache]
public ActionResult DisplayError(int errorCode) {
return View(errorCode.ToString());
}
这样行吗?你找到了解决这个问题的干净方法吗?