我们的管理员意外地迁移了我的.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包括一个深刻的解决方案,在此处阅读更多信息。