【发布时间】:2013-01-17 08:13:02
【问题描述】:
默认情况下,MVC 包在客户端缓存 1 年。是否可以手动设置其客户端标头(针对 1 个特定捆绑包)?
我需要为我的其中一个捆绑包设置自定义过期标头。我不能依赖“v=hash”查询字符串,因为这个包是针对外部网站的,每次我更改它时,他们都不会更改指向我的包的 url。
我尝试的是创建一个自定义 Bundle 类(继承 Bundle)并覆盖 GenerateBundleResponse() 方法。这样我可以控制服务器缓存,但自定义客户端缓存的唯一方法是设置 BundleResponse.Cacheability(公共、私有、nocache 等)。但我不能手动设置标题。我可以访问 BundleContext(它是 HttpContext),但是当我在该上下文上设置标头时,它也会对所有其他请求产生影响。
【问题讨论】:
-
听起来您需要 VaryByXXX,但似乎还没有这种灵活性:stackoverflow.com/questions/13065330/…
标签: asp.net-mvc asp.net-mvc-4 resourcebundle