4

我在 IIS 上运行一个从 Thread.CurrentThread.CurrentCulture 读取文化信息的站点。这来自我所理解的系统文化信息。我需要将它设置为某个值,但我无法在操作系统级别更改它。

我的 windows 7 计算机最初设置为 en-GB 文化,现在我需要将其切换到 en-US。我在区域和语言控制面板中更改了它。在“格式”选项卡中,格式为英语(美国),在“位置”选项卡中,当前位置为美国,在“管理”选项卡中,非 Unicode 程序的当前语言为英语(美国)。重新启动后,所有值在 Windows UI 中都读取正确。

在这些更改之后我重新启动了我的计算机,我已经清除了我的本地 DNS(不知道这是否重要),我已经重新启动了 IIS,我已经回收了应用程序池,但它仍然读取为 en-GB。

我还需要做些什么来更新这个cultureInfo 吗?

4

1 回答 1

5

ASP.NET itslef 具有该任务的配置。可以在 system.web 部分的 web.config 文件中设置文化(多种方式)。下面的片段显示,美国文化如何被强迫

<globalization 
    enableClientBasedCulture="false" 
    uiCulture="en-US" 
    culture="en-US" />

如果应用程序准备好接受来自客户端(浏览器)的文化,设置应该是

<globalization 
    enableClientBasedCulture="true" 
    uiCulture="auto" 
    culture="auto" />

上述设置将采用客户端浏览器中选择的语言(例如,在我的情况下为 cs-CZ)。如果未定义,则将使用系统设置。最后的片段显示,如何允许客户端设置和发送预期的文化,但如果没有预先选择语言,请使用其他一些默认值en-US覆盖系统设置

<globalization 
    enableClientBasedCulture="true" 
    uiCulture="auto:en-US" 
    culture="auto:en-US" />
于 2012-10-20T06:32:54.290 回答