Я только что перенесла около 100 сайтов ASP.net из IIS 6 на Windows Sever 2003 в IIS 7 в Windows 2008. Я только что заметил, что различные фрагменты кода, которые используют такие вещи, как DateTime.Parse, начали запускать ошибки "Строка не была признана допустимым DateTime". Я проследил это до того, что CurrentCulture на сайтах по умолчанию "en-US", и поэтому мои пользователи из Великобритании вводят даты в неожиданный формат.
Вопрос в том, откуда они берутся из США? Начиная сверху, если я смотрю "Панель управления > Регион и язык", все настроено на английский (Великобритания). Веб-сайты сайтов либо не имеют <globalization> или установить его как "культура глобализации =" авто "uiCulture =" auto "/ > . В" IIS7 -.Net Globalization "на всех сайтах их культура установлена на" Инвариантный язык (инвариантная страна)".
Я не могу найти нигде, что настройки культуры для "en-US"... но что-то есть.
Thread.CurrentThread.CurrentCulture.Name is outputting 'en-US'
Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol is outputting '$'
Я могу исправить проблему, добавив < globalization culture = "en-GB" uiCulture = "en-GB" / > для каждого web.config НО, я действительно не хочу, чтобы вручную редактировать около 100 web.configs! Я не хочу наследовать эту культуру из настроек ОС сервера, которые установлены в en-GB.
Я что-то пропустил?