Текущая культура и дата конфигурации ОС - PullRequest
2 голосов
/ 10 июля 2011

У меня тут очень сложный вопрос.Я уже несколько часов безуспешно склоняюсь к этой проблеме.

Я создаю приложение для развертывания на многочисленных машинах с разными культурами.В качестве меры предосторожности я решил использовать класс Culture, чтобы помочь преобразовывать строки в даты.Я заметил, что когда я меняю дату своей операционной системы Windows с:

10/07/2011 на 10-07-2011

CurrentCulture не обновляется, я продолжаю видеть даты как10/07/2011.Это почему?Есть ли обходной путь?

Ответы [ 3 ]

1 голос
/ 10 июля 2011

У меня работает правильно, но только после перезапуска приложения. Я предполагаю, что текущая культура загружается в начале приложения и кэшируется, поэтому, чтобы изменения вступили в силу, необходимо перезапустить приложение.

1 голос
/ 11 июля 2011

Вам нужно изменить Культуру в среде IIS (или лучше в Web.config), а не в ОС.таким образом вы гарантируете, что все машины будут работать в одной и той же культуре.

попробуйте добавить следующую строку в ваш web.config:

<globalization culture="he-IL" enableClientBasedCulture="false" uiCulture="he-IL" />

просто измените he-ILк вашей предлагаемой культуре

0 голосов
/ 10 июля 2011

Пока значение можно интерпретировать как дату, оно всегда будет отформатировано в вашей CurrentCulture. Это по замыслу.

Вам необходимо явно изменить CurrentCulture, чтобы данные отображались (или преобразовывались) в новый формат. Посмотрите на CurrentCulture, как данные будут отображаться на вашем конце.

...