Как запретить IIS переопределять мои настройки культуры в ASP.NET?

Как запретить IIS переопределять мои настройки культуры в ASP.NET?

У меня есть клиент в США, который хочет, чтобы все время отображалось как военное время, но все остальное должно соответствовать культуре США.

В моем файле global.asax я создаю копию культуры США и применяю отображение времени Великобритании для создания культуры США с военным временем.

Причина, по которой я это делаю, заключается в том, что я не смог найти культуру, способную на это, однако, если кто-то знает, было бы здорово.

Проблема, с которой я столкнулся, заключается в том, что когда мы развертываем веб-сайт на IIS (версия 6), все, по-видимому, возвращается к культуре США.

В поисках способа изменения культуры я нашел настройку на вкладке ASP.NET -> Изменить конфигурацию -> Вкладка Приложение.

Значение по умолчанию — af-ZA.

Похоже, что возможности отключить это преобладание культуры нет, и я не верю, что af-ZA прав?

Есть ли способ запретить IIS переопределять культуру, программно установленную в ASP.NET?

Примечание: спрашиваю здесь, так как ищу решение на стороне сервера, а не программирование. Спасибо!

решение1

Это, по крайней мере, частично вопрос кодирования. По сути, вам нужно создать и зарегистрировать новую культуру, используя класс CultureAndRegionInfoBuilder из System.Globalization.

После регистрации вы сможете выбрать новую культуру в настройках приложения ASP.Net (или в файле web.config для вашего приложения).

Вот несколько ссылок, с которых вам следует начать:
http://msdn.microsoft.com/en-us/library/ms172469.aspx
http://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.aspx

решение2

Нашел ответ на свой вопрос после разговора с кем-то более сведущим в серверах и asp.net.

По-видимому, в файле Web.config можно задать только культуру для всего приложения.

Я устанавливал его в главном потоке приложения в global.asax, который не переносился в дочерние потоки, обрабатывающие запросы страниц.

Интересно, что при запуске на локальной машине через процесс хостинга Visual Studio все запросы должны выполняться через один и тот же поток.

Это навело меня на мысль, что проблема связана с IIS, поскольку проблема не проявлялась до тех пор, пока мы не установили его на IIS.

Мое решение: (Принял более правильное решение)

Пользовательская культура должна быть установлена ​​в каждом потоке запроса страницы. Моим решением было поместить ее в загрузку главной страницы. IIS не переопределяет ваши настройки.

Связанный контент