我們錯誤地建立了一個具有美國文化的服務器。後來我將區域設置,區域設置和IIS全球化更改爲en-GB。機器文化與日期時間
但是,我遇到了我寫的Windows服務的問題。每當DateTime.ToString()完成時,它仍然使用US格式。我知道我可以指定我想要字符串的文化,但我不想更改我的所有代碼。它應該只使用英國格式,因爲它在機器設置中隨處可見。
也許我錯過了一個設置?除了更改代碼之外,有沒有人有任何建議?
我們錯誤地建立了一個具有美國文化的服務器。後來我將區域設置,區域設置和IIS全球化更改爲en-GB。機器文化與日期時間
但是,我遇到了我寫的Windows服務的問題。每當DateTime.ToString()完成時,它仍然使用US格式。我知道我可以指定我想要字符串的文化,但我不想更改我的所有代碼。它應該只使用英國格式,因爲它在機器設置中隨處可見。
也許我錯過了一個設置?除了更改代碼之外,有沒有人有任何建議?
當您使用控制面板更改區域設置時,您需要選中複選框「將所有設置應用於當前用戶帳戶和默認用戶配置文件」。在XP中,這是在區域和語言選項的高級選項卡上。
您的Windows服務大概是在沒有配置文件的帳戶下運行(例如LocalSystem),因此將使用默認的用戶配置文件設置。
您還可以使用RegEdit檢查默認用戶配置文件的區域設置 - 它們位於註冊表項HKEY_USERS\.DEFAULT\Control Panel\International
之下。但是我會考慮更改代碼--Windows服務通常應該不知道機器的文化,並且您將避免維護難題。
帳戶,您需要應用正確的(EN-GB)的語言設置also to reserved accounts
服務必須在此更改後重新啓動。 – NetRat
我提到它是一個服務器,所以不得不去區域設置 - >管理 - >複製。 – Edgar