Назад | Перейти на главную страницу

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

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

В моем 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 не отменяет ваши настройки.