Машинная культура и DateTime - PullRequest
       14

Машинная культура и DateTime

0 голосов
/ 19 августа 2011

Мы создали сервер с культурой en-US по ошибке. Позже я изменил региональные настройки, локаль и глобализацию IIS на en-GB.

Однако у меня возникла проблема с написанным мной сервисом Windows. Он по-прежнему использует формат США, когда выполняется DateTime.ToString (). Я знаю, что могу указать культуру, в которой должна быть строка, но я не хочу менять весь свой код. Он должен использовать только британский формат, потому что он изменяется везде в настройках машины.

Может быть, я пропустил настройку? У кого-нибудь есть какие-либо предложения, кроме изменения кода?

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

При изменении региональных настроек с помощью панели управления необходимо установить флажок «Применить все настройки к текущей учетной записи пользователя и к профилю пользователя по умолчанию ».В XP это находится на вкладке «Дополнительно» региональных и языковых параметров.

Ваша служба Windows предположительно работает под учетной записью без профиля (например, LocalSystem), поэтому будут использовать настройки профиля пользователя по умолчанию.* Вы также можете проверить региональные настройки для профиля пользователя по умолчанию с помощью RegEdit - они находятся под ключом реестра HKEY_USERS\.DEFAULT\Control Panel\International.

Тем не менее, я хотел бы рассмотреть вопрос об изменении кода - служба Windows обычно должна быть независимойкультура машины, и вы избежите головной боли от технического обслуживания в будущем.

1 голос
/ 19 августа 2011

если ваша служба Windows работает с системной учетной записью, вам необходимо применить правильные (en-GB) языковые настройки также к зарезервированным учетным записям

...