2

如果服务器上的时钟早于客户端上的时钟,下面的代码会起作用吗?

Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1))

编辑:我问的原因是在我们的一个网络应用程序上,一些用户声称他们正在查看以前使用该机器的用户的页面(帐号等)。然而,我们使用上面的线和其他线来“防止”这种情况发生。

4

3 回答 3

3

这个问题包括确保网页没有被缓存。似乎您必须设置几个属性以确保网页不会在所有浏览器中缓存。

于 2008-09-11T19:29:10.080 回答
0

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

<input autocomplete="off">
于 2008-09-11T19:33:04.563 回答
0

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

您可以尝试设置一个更旧的时间戳,例如:0000 1970 年 1 月 1 日 GMT(纪元)

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

Response.Cache.SetNoServerCaching();
于 2008-09-11T21:32:44.200 回答