ASP.NET DateTime.Now在单个页面上显示为冻结

时间:2011-12-14 15:48:48

标签: c# asp.net datetime

今天早上我的一个网站出现了一个非常奇怪的问题。某些用户选定日期的日期报告已关闭一天。该网站允许用户从三天(“今​​天”,“明天”和“明天之后”)中进行选择,然后将所选日期转换为实际日期(今天看起来像'12 / 14')。

这个页面昨晚工作正常,但是当一天午夜滚动时,它显示不会更新到当天。

该页面使用.Net DateTime.Now获取当前日期,然后将日期偏移+0,+ 1或+2,具体取决于用户选择的日期。

我检查了网站上的系统时间,这是正确的。 DateTime.Now在网站的其他页面上工作得很好。

我最终只是将整个站点(减去web.config)重新发布到服务器,它修复了问题。但我的问题是,这首先是怎么发生的?我只是好奇什么可能导致DateTime.Now不在单个页面上更新,并希望防止它再次发生。

在Windows Server 2008 R2虚拟机上使用IIS托管站点。

如果需要更多信息,请告诉我,我会尽力更新问题。

1 个答案:

答案 0 :(得分:3)

客户端缓存(浏览器认为它不需要新文件),服务器端缓存(服务器认为你不需要新文件,你可能知道这个),或者服务器是在与您不同的时区(日期更改时间比当地午夜晚x小时)。

你必须告诉asp.net阻止缓存以使页面重新生成,但这会导致性能下降,有时甚至会更糟。考虑使用javascript或donut hole缓存。