更改默认培养作为LocalSystem运行Windows服务(Changing default cu

2019-09-26 07:27发布

我们的管理员意外迁移的服务器在我的.NET Windows服务运行(到Windows 2008 ...因为一些老的应用程序)。 它是根据本地系统帐户下运行。 目标框架是.NET Framework 4的客户端配置文件。

在我服务的方法DateTime.Parse现在抛出无效格式异常。

当我加入OnStart

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

它变得更好,但仍然在一些方法失败,很可能在不同的therads运行。

如何配置服务器或更改程序,使所有的线程与正确的文化产生的呢?

Answer 1:

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

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

这是记录在这里 ,需要提醒的是它可能并不适用于随后创建的线程工作。 一个深刻的解决方案将包含在Microsoft.NET框架4.6, 阅读更多的在这里 。



文章来源: Changing default culture for windows service running as LocalSystem