2011-08-19 21 views
0

我們錯誤地建立了一個具有美國文化的服務器。後來我將區域設置,區域設置和IIS全球化更改爲en-GB。機器文化與日期時間

但是,我遇到了我寫的Windows服務的問題。每當DateTime.ToString()完成時,它仍然使用US格式。我知道我可以指定我想要字符串的文化,但我不想更改我的所有代碼。它應該只使用英國格式,因爲它在機器設置中隨處可見。

也許我錯過了一個設置?除了更改代碼之外,有沒有人有任何建議?

回答

2

當您使用控制面板更改區域設置時,您需要選中複選框「將所有設置應用於當前用戶帳戶和默認用戶配置文件」。在XP中,這是在區域和語言選項的高級選項卡上。

您的Windows服務大概是在沒有配置文件的帳戶下運行(例如LocalSystem),因此將使用默認的用戶配置文件設置。

您還可以使用RegEdit檢查默認用戶配置文件的區域設置 - 它們位於註冊表項HKEY_USERS\.DEFAULT\Control Panel\International之下。但是我會考慮更改代碼--Windows服務通常應該不知道機器的文化,並且您將避免維護難題。

如果您的Windows服務在系統上運行
+0

服務必須在此更改後重新啓動。 – NetRat

+0

我提到它是一個服務器,所以不得不去區域設置 - >管理 - >複製。 – Edgar

1

帳戶,您需要應用正確的(EN-GB)的語言設置also to reserved accounts

+0

其他答案是第一個,但這也有幫助。 – Edgar

+0

這個鏈接似乎被打破(6年後,並不感到驚訝):( – Jay