CurrentCulture niepoprawnie domyślnie ustawia en-US w ASP.net
Właśnie przeprowadziłem migrację około 100 witryn ASP.net z IIS 6 na Windows Sever 2003 do IIS 7 na Windows 2008. Właśnie zauważyłem, że różne fragmenty kodu, które używają takich rzeczy, jak DateTime.Parse, zaczęły wzniecać błędy. uznane za prawidłowy DateTime ”. Wyśledziłem to z faktu, że CurrentCulture stron internetowych domyślnie używa „en-US”, więc moi brytyjscy użytkownicy wprowadzają daty w nieoczekiwanym formacie.
Pytanie brzmi: skąd się biorą po USA? Począwszy od góry, jeśli spojrzę w „Panel sterowania> Region i język”, wszystko jest ustawione na angielski (Wielka Brytania). Web.configs witryn albo nie ma sekcji <globalization>, albo ma ustawioną <globalization culture = "auto" uiCulture = "auto" />. W „IIS7 - .Net Globalization” wszystkie witryny mają swoją kulturę ustawioną na „Niezmienny język (Kraj niezmienny)”.
Nigdzie nie mogę znaleźć miejsca, w którym kultura ma „en-US” ... ale coś jest.
Thread.CurrentThread.CurrentCulture.Name is outputting 'en-US'
Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol is outputting 'Mogę rozwiązać ten problem, dodając <globalization culture = "en-GB" uiCulture = "en-GB" /> do każdego web.config ALE Naprawdę nie chcę ręcznie edytować około 100 web.configs! Nie chcę odziedziczyć kultury po ustawieniach systemu operacyjnego serwera, ustawionych na en-GB.
Czy czegoś mi brakuje?
Mogę rozwiązać ten problem, dodając <globalization culture = "en-GB" uiCulture = "en-GB" /> do każdego web.config ALE Naprawdę nie chcę ręcznie edytować około 100 web.configs! Nie chcę odziedziczyć kultury po ustawieniach systemu operacyjnego serwera, ustawionych na en-GB.
Czy czegoś mi brakuje?