如何确定 IIS 的时区设置。自从应用夏令时(+1 小时)以来,IIS 返回的时间似乎落后了 1 小时,因为 +1 被忽略了。
服务器本身的时间是正确的,但是当应用程序代码调用 getDateTime 时,它会返回不正确的时间。有什么想法吗?
编辑
应用程序代码位于 .net 中,此特定部分与 SQLMembershipProvider 相关。基本上,当用户登录时,上次登录日期时间会更新并存储在数据库中。这总是比实际时间晚 1 小时。两台服务器上的 tome 设置(应用程序服务器和托管 SQL Server 的服务器都是正确的),并且独立于客户端站点设置
编辑 2
感谢您的回答,事实证明问题的根源与 IIS 无关
IIS 始终以 GMT 登录 - 您可以配置翻转时间。时间会改变,因为您的服务器会因夏令时而改变。日志是静态的
选择的日志文件格式是 W3C 扩展日志文件格式。扩展日志文件格式在 Phillip M. Hallam-Baker 和 Brian Behlendorf 的 W3C 工作草案 WD-logfile-960323 规范中定义。本文档将日期和时间文件定义为始终采用 GMT 格式。此行为是设计使然。
http://support.microsoft.com/kb/271196
我似乎是由于 SQLMembershipProvider 使用日期时间的事实。基本上所有时间(lastLoginTime、lastUserActivity 等)都存储为 UTC - 这是为了避免服务器在不同时区运行时可能出现的复制问题。正如 UndertheFold 指出的那样,它类似于 IIS 在日志中使用时间的方式 - 感谢您为我指明正确的方向
一些参考可以在Professional ASP.NET 2.0 security, members, and role management 中找到 Stefan Schackow
所以基本上这不是一个真正的 IIS 问题
这可能无法直接回答您的问题,但我们遇到了客户无法登录我们网站的问题。他们的 cookie 马上就要过期了。事实证明,这与他们的夏令时设置有关,并且没有在 XP 中安装一些 DST 补丁。
让他们下载并安装这个补丁解决了这个问题。
夏令时补丁