2010-06-10 61 views
1

我在我们的ASP.NET Web应用程序中遇到了CultureInfo问题。我们的Web应用程序根据其所在的应用程序池返回不同的文化。CultureInfo.CurrentCulture可以根据应用程序池而有所不同吗?

在应用程序池A中,它是en-US,但在应用程序池B中是nl-BE。

我希望它是nl-BE,但是找不到在哪里改变这个(顺便说一下IIS6)。我甚至不确定这是否可以在应用程序池级别进行更改。

我在使用CultureInfo.CurrentCulture.Name进行检查。

是否可以更改此应用程序池?或者还有什么可以影响这个?在服务器的区域设置中,我们选择了'荷兰(比利时)',我相信这转换为nl-BE。那么这个应用程序池在哪里可以获得en-US?

回答

2

是的,它可以不同。它是一个线程属性。您可以分别为每个线程设置CurrentCulture

你确定你没有改变代码中的设置吗? <globalization> setting对于两个测试都相同吗?

如果要强制特定的文化,你可以试试:

<globalization culture="en-US" uiCulture="en-US" /> 
+0

但是,如果我不把它在代码的任何地方,我怎么能改回来?或者我将不得不回收应用程序池? – Peter 2010-06-10 15:17:31

+0

@Peter:添加全球化标签来强制特定的文化。顺便说一句,应用程序池是否与另一个应用程序共享? – 2010-06-10 15:20:46

+0

它不与另一个应用程序共享,但我不能说我们有对服务器的唯一控制权。但是回收应用程序池已解决问题。如何成为美国是一个谜,但感谢您指出我的答案。 顺便说一句,我在我们的web.config中尝试过全球化标记,但它没有帮助。 – Peter 2010-06-10 15:26:05

相关问题