¿Cómo evito que IIS anule mi configuración cultural en ASP.NET?

¿Cómo evito que IIS anule mi configuración cultural en ASP.NET?

Tengo un cliente en los EE. UU. que quiere que toda la hora se muestre como hora militar, pero se supone que todo lo demás es cultura estadounidense.

En mi global.asax estoy creando una copia de la cultura estadounidense y aplicando la visualización de la hora GB para crear una cultura estadounidense con hora militar.

La razón por la que estoy haciendo esto es que no pude encontrar una cultura capaz de hacerlo; sin embargo, si alguien lo sabe, sería genial.

El problema con el que me encuentro es que cuando implementamos el sitio web en IIS (versión 6), aparentemente todo vuelve a la cultura estadounidense.

Buscando cómo cambiar la cultura, encontré la configuración en la pestaña ASP.NET -> Editar configuración -> pestaña Aplicación

El valor predeterminado es af-ZA.

Parece que no hay opción para desactivar esta anulación de la cultura y, de todos modos, no creo que af-ZA tenga razón.

¿Hay alguna manera de evitar que IIS anule una cultura establecida mediante programación en ASP.NET?

Nota: Pregunto aquí porque estoy buscando una solución del lado del servidor, no una programación. ¡Gracias!

Respuesta1

Ésta es, al menos en parte, una cuestión de codificación. Básicamente, necesitas crear y registrar tu nueva cultura usando la clase CultureAndRegionInfoBuilder de System.Globalization.

Una vez registrado, podrá elegir su nueva cultura dentro de la configuración de la aplicación ASP.Net. (o dentro del archivo web.config de su aplicación).

Aquí hay algunas referencias que deberían ayudarlo a comenzar:
http://msdn.microsoft.com/en-us/library/ms172469.aspx
http://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.aspx

Respuesta2

Encontré la respuesta a mi pregunta después de hablar con alguien más versado en servidores y asp.net.

Aparentemente, solo puede establecer culturas para toda la aplicación en Web.config

Lo estaba configurando en el hilo principal de la aplicación en global.asax, que no se transfirió a los hilos secundarios que procesan solicitudes de páginas.

Lo interesante es que, cuando se ejecuta en una máquina local a través del proceso de alojamiento de Visual Studio, todas las solicitudes deben realizarse a través del mismo hilo.

Esto es lo que me llevó a creer que era un problema con IIS, ya que el problema no apareció hasta que lo pusimos en IIS.

Mi solución: (Acepté una solución más adecuada)

Se debe establecer una cultura personalizada en cada hilo de solicitud de página. Mi solución fue ponerlo en la carga de la página maestra. IIS no anula su configuración.

información relacionada