2017-05-29 32 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包含一个深刻的解决方案。

相关问题