【发布时间】:2014-03-26 20:30:21
【问题描述】:
我们最近从运行 IIS6 的 Windows 2003 Web 服务器迁移到运行 IIS7 的 Windows 2008 Web 服务器。有问题的应用程序是一个在 .net4 下运行的 ASP.NET 网站,无论是旧的还是新的。代码都没有改变。
但是,我注意到当用户使用后退按钮时,.aspx 网页现在会过期。在旧的网络服务器上,用户可以使用后退按钮查看前一页的结果(知道数据可能不是最新的),现在在新的网络服务器上,他们会收到“页面已过期”消息.
我使用 Fiddler 查看了网页的标题。在 IIS6 上,Fiddler 中的缓存列报告“私有”,而在 IIS7 上,它是“无缓存,无存储;过期:-1”。我假设正是这种差异导致页面在以前没有过期的地方过期。
如何设置 IIS7 的缓存/过期行为以匹配用户习惯在 IIS6 下运行的行为?我一直在尝试在 IIS7 gui 中使用“HTTP 响应标头”以及修改 web.config 中的静态内容:
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseExpires" httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" />
</staticContent>
</system.webServer>
但到目前为止,我没有尝试过更改这些到期选项。
【问题讨论】:
-
不确定它是否与此重复。代码在 IIS6 下按预期工作,现在在 IIS7 下运行不同。另一篇文章提到了代码从未按照用户想要的方式运行的场景。
标签: asp.net .net caching iis-7