2010-06-10 76 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

相關問題