2017-05-29 26 views
1

我們的管理員意外地將我的.NET Windows服務運行到的服務器遷移到Windows 2008(因爲一些舊應用程序)。它在LocalSystem帳戶下運行。目標框架是.NET Framework 4 Client Profile。更改以LocalSystem身份運行的Windows服務的默認文化

在我的服務中,方法DateTime.Parse現在拋出無效格式異常。

當我加入OnStart

Thread.CurrentThread.CurrentCulture = new CultureInfo("cs-CZ", false); 

它變得更好,但仍然在一些方法失敗,很可能在不同的therads運行。

如何配置服務器或更改程序,以使所有線程都具有適當的文化?

+1

哪個框架版本?可能[this](https://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurrentculture(v = vs.110).aspx) – dlatikay

+0

@dlatikay .NET框架4客戶端配置文件 –

+0

我需要重建4.5? –

回答

1

與Microsoft.NET框架4.5和更高的起點,您可以使用

var culture = CultureInfo.CreateSpecificCulture("cs-CZ"); 
CultureInfo.DefaultThreadCurrentCulture = culture; 

這是documented here,需要提醒的是它可能並不適用於隨後創建的線程工作。 Microsoft.NET Framework 4.6,read more on it here包含一個深刻的解決方案。

相關問題