CurrentCulture no se configura correctamente de forma predeterminada en-US en ASP.net
Acabo de migrar alrededor de 100 sitios ASP.net de IIS 6 en Windows Sever 2003 a IIS 7 en Windows 2008. Acabo de notar que varias piezas de código que usan cosas como DateTime.Parse han comenzado a eliminar errores "String no fue reconocido como un DateTime válido ". He rastreado esto hasta el hecho de que el valor de CurrentCulture de los sitios es predeterminado en 'en-US', por lo que mis usuarios del Reino Unido están ingresando las fechas en un formato inesperado.
La pregunta es, ¿de dónde están recibiendo en-US? A partir de la parte superior, si veo en 'Panel de control> Región e idioma', todo está configurado en inglés (Reino Unido). Los web.configs de los sitios no tienen una sección <globalization> o tienen como <globalization culture = "auto" uiCulture = "auto" />. En 'IIS7 - .Net Globalization', todos los sitios tienen su cultura configurada como 'Idioma invariante (país invariante)'.
No puedo encontrar en ningún lugar la configuración de la cultura a 'en-US' ... pero algo es.
Thread.CurrentThread.CurrentCulture.Name is outputting 'en-US'
Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol is outputting 'Puedo solucionar el problema agregando <globalization culture = "en-GB" uiCulture = "en-GB" /> a cada web.config PERO ¡Realmente no quiero tener que editar manualmente alrededor de 100 web.configs! No sería para heredar la cultura de la configuración del sistema operativo del servidor, que está configurada en GB.
¿Me estoy perdiendo de algo?
Puedo solucionar el problema agregando <globalization culture = "en-GB" uiCulture = "en-GB" /> a cada web.config PERO ¡Realmente no quiero tener que editar manualmente alrededor de 100 web.configs! No sería para heredar la cultura de la configuración del sistema operativo del servidor, que está configurada en GB.
¿Me estoy perdiendo de algo?