У меня есть клиент в США, который хочет, чтобы все время отображалось как военное время, но все остальное должно быть связано с культурой США.
В моем global.asax я создаю копию культуры США и применяю отображение времени GB для создания культуры США с военным временем.
Причина, по которой я делаю это, заключается в том, что я не мог найти культуру, способную на это, однако, если бы кто-нибудь знал, это было бы здорово.
Проблема, с которой я сталкиваюсь, заключается в том, что когда мы развертываем веб-сайт в IIS (версия 6), все возвращается, по-видимому, к культуре США.
Ища, как изменить культуру, я нашел настройку на вкладке ASP.NET -> Изменить конфигурацию -> Вкладка приложения.
Значение по умолчанию - af-ZA.
Кажется, нет возможности отключить это преобладание культуры, и я все равно не верю, что af-ZA прав?
Есть ли способ запретить IIS переопределить культуру, программно установленную в ASP.NET?
Примечание: спрашиваю здесь, так как я ищу решение на стороне сервера, а не программирование. Спасибо!
Это, по крайней мере, частично вопрос кодирования. По сути, вам необходимо создать и зарегистрировать новую культуру с помощью класса 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
Нашел ответ на свой вопрос после разговора с кем-то более разбирающимся в серверах и asp.net
По-видимому, вы можете -only- установить общие культуры приложения в Web.config
Я устанавливал его в основном потоке приложения в global.asax, который не переносился на дочерние потоки, обрабатывающие запросы страницы.
Интересно то, что при запуске на локальном компьютере через процесс хостинга Visual Studio все запросы должны выполняться в одном потоке.
Это то, что заставило меня поверить, что это проблема с IIS, поскольку проблема не возникла до тех пор, пока мы не поместили ее в IIS.
Мое решение: (Принято более подходящее решение)
Для каждого потока запроса страницы необходимо установить собственный язык и региональные параметры. Мое решение заключалось в том, чтобы поместить его в загрузку главной страницы. IIS не отменяет ваши настройки.