IIS 中运行的多个网站使用不同的时区设置

IIS 中运行的多个网站使用不同的时区设置

有没有办法让 IIS 中运行具有不同时区信息的多个网站?

例如:本地 Windows Server 在 CST 中运行。我想要一个在 CST 中运行的网站(应用程序),以及另一个在 EST 中运行的网站(应用程序)。

这可能吗?

答案1

时区是在服务器级别设置的,因此无法在每个站点上覆盖它。处理这个问题的方法是从代码中。在 web.config 中设置时区,并根据该时区动态计算时区。

答案2

是的!但 IIS 无法做到这一点,您需要对应用程序进行编程才能做到这一点。

或者,如果应用程序不喜欢 GMT 和时区偏移,您可以尝试通过在不同的应用程序池中运行每个应用程序、以不同的用户身份运行每个应用程序池以及设置每个应用程序池标识的区域设置来诱导它使用不同的时区。

然后,您需要使用 OLEAUT 日期和时间注册表设置,并希望它正常工作... 以下文章记录了一些细节。(简而言之:在尝试解释设置之前,先冒充使用您想要的设置的人)。YMMV。

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

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

答案3

到底是干什么用的?

IIS 对时区所做的唯一一件事就是使用它来确定如何写入日志文件,如果您希望它们以 UTC 格式写入的话,这是强烈推荐的。

其他情况都不是 IIS 运行时区,而是您的应用程序依赖于某些用户设置,这从一开始就是一种不好的做法。所有演示都不应使用服务器端信息,而应使用用户特定的设置来处理演示,或硬编码时区信息。

我完全不明白这里的问题是什么——从编程的角度来看,Web 应用程序不应该首先有本地用户时区的概念。

相关内容