2010-06-10 2 views
1

ASP.NET 웹 응용 프로그램에서 CultureInfo에 문제가 있습니다. 웹 응용 프로그램은 응용 프로그램 풀에 따라 다른 문화권을 반환합니다.CultureInfo.CurrentCulture는 응용 프로그램 풀마다 다를 수 있습니까?

응용 프로그램 풀 A에서는 en-US이지만 응용 프로그램 풀 B에서는 nl-BE입니다.

나는 그것이 nl-BE가되고 싶지만, 어디에서 이것을 바꿀 지 찾을 수 없다 (IIS6). 이것이 app-pool 수준에서 변경 될지 확실하지 않습니다.

CultureInfo.CurrentCulture.Name으로 확인합니다.

응용 프로그램 풀에 대해 이것을 변경할 수 있습니까? 아니면 다른 무엇이 이것에 영향을 미칠 수 있습니까? 서버의 지역 설정에서 nl-BE로 변환되는 'Dutch (Belgium)'를 선택했습니다. 그렇다면이 애플리케이션 풀은 어디에서 en-US를 얻을 수 있습니까?

답변

2

예, 다를 수 있습니다. 그것은 스레드 당 속성입니다. 각 스레드에 대해 개별적으로 CurrentCulture을 설정할 수 있습니다.

코드의 설정을 변경하지 않으시겠습니까? 두 검사 모두에 대해 <globalization> setting이 동일합니까?

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

난 아무데도 코드에서 설정하지 않은 경우에, 어떻게 다시 변경할 수 있습니다 특정 문화를 강제하려면

, 뭔가를 시도? 아니면 응용 프로그램 풀을 재활용해야합니까? – Peter

+0

@Peter : 세계화 태그를 추가하여 특정 문화권을 강제 적용합니다. 그런데 앱 풀이 다른 앱과 공유됩니까? –

+0

다른 앱과 공유 할 수는 없지만 서버를 독점적으로 제어 할 수는 없습니다. 그러나 응용 프로그램 풀을 재활용하면 문제가 해결됩니다. 그것이 en-US가 된 이유는 수수께끼이지만, 답을 알려 주셔서 감사합니다. 그런데 web.config에서 세계화 태그를 시도했지만 도움이되지 않았습니다. – Peter

관련 문제