更改以当地系统运行的Windows服务的默认文化



我们的管理员意外地迁移了我的.NET Windows Service运行的服务器(由于某些旧应用程序,到Windows 2008 ...(。它在当地系统帐户下运行。目标框架是.NET框架4客户端配置文件。

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

当我添加到OnStart

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

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

如何配置服务器或更改程序以使所有线程使用适当的文化创建?

从Microsoft.net Framework 4.5及更高开始,您可以使用

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

这是在此处记录的,警告说可能不适合随后创建的线程。Microsoft.net Framework 4.6包括一个深刻的解决方案,在此处阅读更多信息。

相关内容

  • 没有找到相关文章

最新更新