IIS 时区和夏令时变化

IIS 时区和夏令时变化

如何确定 IIS 的时区设置。似乎自从应用夏令时(+1 小时)以来,IIS 返回的时间就晚了 1 小时,因为 +1 被忽略了。

服务器上的时间本身是正确的,但当应用程序代码调用 getDateTime 时,它​​会返回错误的时间。有什么想法吗?

编辑

应用程序代码在 .net 中,此特定部分与 SQLMembershipProvider 相关。基本上,当用户登录时,上次登录日期时间会更新并存储在数据库中。这总是比实际时间晚 1 小时。两台服务器(应用程序服务器和托管 SQL Server 的服务器)上的 tome 设置都是正确的,并且它独立于客户端站点设置

编辑2

感谢您的回答,事实证明问题的根源与 IIS 无关

答案1

IIS 始终以 GMT 格式记录 - 您可以配置滚动时间。时间会随着您的服务器根据 DST 进行更改而更改。但日志是静态的

所选的日志文件格式是 W3C 扩展日志文件格式。扩展日志文件格式在 Phillip M. Hallam-Baker 和 Brian Behlendorf 编写的 W3C 工作草案 WD-logfile-960323 规范中定义。此文档将日期和时间文件定义为始终采用 GMT 格式。此行为是设计使然。

http://support.microsoft.com/kb/271196

答案2

我认为这是由于 SQLMembershipProvider 使用日期时间的方式。基本上所有时间(lastLoginTime、lastUserActivity 等)都存储为 UTC - 这是为了避免服务器在不同时区运行时可能出现的复制问题。它类似于 UndertheFold 指出的 IIS 在日志中使用时间的方式 - 感谢您为我指明正确的方向

一些参考资料可以在这里找到专业 ASP.NET 2.0 安全性、成员资格和角色管理作者:Stefan Schackow

所以基本上这不是一个真正的 IIS 问题

答案3

这也许不能直接回答您的问题,但我们遇到了客户无法登录我们网站的问题。他们的 cookie 立即过期。事实证明,这与他们的夏令时设置以及未在 XP 中安装某些 DST 补丁有关。

让他们下载并安装此补丁解决了该问题。

夏令时补丁

相关内容