Я хотел бы установить формат даты «ГГГГ-ММ-ДД» для всего моего веб-приложения. Я могу сделать это, создав объект CultureAndRegionInfoBuilder
и затем зарегистрировав его. Но поскольку мое приложение находится в размещенной среде, я не могу запускать исполняемые файлы для регистрации языка и региональных параметров.
Мне нужен способ сделать это в Application_Start
, чтобы он применялся ко всему веб-приложению.
Я попытался изменить формат даты с помощью Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern
, но, похоже, это не распространяется на все приложение.
Короче говоря, мне нужен способ программно изменить текущие настройки культуры всего веб-приложения из самого веб-приложения.
Редактировать: я попробовал следующее по предложению @doitgood, но получил исключение System.InvalidOperationException: Instance is read-only.
, в то время как intellisense показывает свойство как Get или Set.
void Application_BeginRequest(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
}
Чтобы сделать изменение глобальным для приложения, я попробовал следующее в Application_Start
:
System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
Я получаю то же исключение «Экземпляр доступен только для чтения».