【发布时间】:2014-09-08 19:35:03
【问题描述】:
我的应用程序使用带有 OutputCache 的 ASP.NET MVC 5(具体来说,我们使用 MVCDonutCaching)来缓存高流量站点和昂贵的路由。
一些动作有一个自定义动作过滤器,它根据视图模型添加一个Content-Range 标题。没有缓存它就像魅力一样。启用缓存后,第一个命中没问题(响应中存在Content-Range 标头)-但第二个仅包含 Content-Type 和 HTML/JSON 响应以及我们的自定义 Content-Range 标头丢失(这会破坏客户端功能)。
有没有什么方法可以在不编写自己的 OutputCache 实现的情况下启用正确的标头缓存?
非常感谢。
【问题讨论】:
-
是发出请求还是使用本地缓存的请求,OutputCache 设置的目的是什么?
-
请求被发送到服务器并由它回答。请求通过路由并在
DonutOutputCacheActionFilter 上停止,该 ActionFilter 提供原始 Http 内容的副本,设置内容类型和一些缓存标头。 -
自定义头部动作过滤器注解是在输出缓存注解之前还是之后?
标签: c# asp.net-mvc caching