网页缓存setexpires

时间:2008-09-11 19:17:25

标签: caching

如果服务器上的时钟超前于客户端上的时钟,下面的代码是否会起作用?

Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1))
编辑:我问的原因是我们的某个网络应用程序中有些用户声称他们正在查看以前使用该计算机的用户的页面(帐号等)。然而,我们使用上面的线和其他线来“防止”这种情况发生。

3 个答案:

答案 0 :(得分:3)

This question涵盖确保网页未缓存。您似乎必须设置多个属性以确保不会在所有浏览器中缓存网页。

答案 1 :(得分:0)

您的问题可能是由浏览器记住输入表单字段的数据引起的。你可以这样关掉它:

<input autocomplete="off">

答案 2 :(得分:0)

据我所知,浏览器将根据本地时钟检查到期日期(虽然它会占用时区),因此如果客户端的时钟不准确,问题中的代码可能无法正常工作。最常见的情况是,当它们的时间看起来正确但设置为错误的时区时会发生这种情况,这意味着UTC时间戳实际上已经过了几个小时。

您可以尝试设置更旧的时间戳,例如:0000 Jan Jan 1970 GMT(epoch)

我认为您的代码应该与服务器端缓存一起使用,但您可以使用以下命令更明确地禁用它:

Response.Cache.SetNoServerCaching();