【发布时间】:2011-02-16 17:15:27
【问题描述】:
我正在尝试使用 VaryByParam 和 VaryByHeader 进行一些缓存。当一个 AJAX 请求进来时,我返回一个部分 XHTML。当一个常规请求进来时,我发送带有页眉/页脚的部分 XHTML 页面。
我尝试通过以下方式缓存页面:
[OutputCache( Duration = 5, VaryByParam = "nickname,page", VaryByHeader = "X-Requested-With" )]
但是这不起作用...如果我先执行常规请求然后运行 AJAX 调用,我将获得完整的缓存页面而不是部分缓存页面,反之亦然。似乎 VaryByHeader 被忽略了。是因为在正常请求中省略了 X-Requested-With 吗?或者它正在做 VaryByParam 或 VaryByHeader?
我明显的解决方法是让 AJAX 请求调用一个只返回部分页面的不同方法,但是如果可能的话我想避免这种情况。
我正在使用带有 OutputCacheAttribute 的 ASP.NET MVC 1.0。
【问题讨论】:
-
原来这可能只是我家用机器上的一个问题。在另一台机器上测试它似乎工作正常。
标签: asp.net caching outputcache