CurrentCulture hat in ASP.net fälschlicherweise den Standardwert "en-US"
Ich habe gerade ungefähr 100 ASP.net-Sites von IIS 6 unter Windows Server 2003 auf IIS 7 unter Windows 2008 migriert. Mir ist gerade aufgefallen, dass verschiedene Codeteile, die Dinge wie DateTime.Parse verwenden, anfingen, Fehler auszulösen als gültige DateTime erkannt ". Ich habe dies auf die Tatsache zurückgeführt, dass die CurrentCulture der Websites standardmäßig "en-US" ist und meine britischen Benutzer daher Daten in einem unerwarteten Format eingeben.
Die Frage ist, woher kommen sie in den USA? Wenn ich in der Systemsteuerung> Region und Sprache nach oben schaue, ist alles auf Englisch (Vereinigtes Königreich) eingestellt. In den web.configs der Sites ist entweder kein Abschnitt <globalization> oder <globalization culture = "auto" uiCulture = "auto" /> festgelegt. In 'IIS7 - .Net Globalization' ist für alle Websites die Kultur auf 'Invariante Sprache (Invariantes Land)' eingestellt.
Ich kann nirgendwo etwas finden, das die Kultur auf "en-US" einstellt ... aber etwas ist es.
Thread.CurrentThread.CurrentCulture.Name is outputting 'en-US'
Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol is outputting 'Ich kann das Problem beheben, indem ich zu jeder web.config <globalization culture = "en-GB" uiCulture = "en-GB" /> hinzufüge, ABER ich möchte wirklich nicht etwa 100 web.configs manuell bearbeiten müssen! Ich möchte die Kultur nicht von den Serverbetriebssystemeinstellungen erben, die auf en-GB festgelegt sind.
Vermisse ich etwas?
Ich kann das Problem beheben, indem ich zu jeder web.config <globalization culture = "en-GB" uiCulture = "en-GB" /> hinzufüge, ABER ich möchte wirklich nicht etwa 100 web.configs manuell bearbeiten müssen! Ich möchte die Kultur nicht von den Serverbetriebssystemeinstellungen erben, die auf en-GB festgelegt sind.
Vermisse ich etwas?