Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为.NET Windows服务中的新线程设置CultureInfo_C#_.net_C# 4.0_Cultureinfo - Fatal编程技术网

C# 为.NET Windows服务中的新线程设置CultureInfo

C# 为.NET Windows服务中的新线程设置CultureInfo,c#,.net,c#-4.0,cultureinfo,C#,.net,C# 4.0,Cultureinfo,我需要为Windows服务设置CultureInfo,它是用C#4.0编写的。问题在于操作系统区域设置-它与我的服务的文化不同 因为我正在使用.NET 4.0(在.NET 4.5中,我可能会更改所有新线程的默认区域性),所以我的问题是: 如何在Windows服务中创建所有新线程,并为其设置CultureInfo Windows服务并不意味着多线程程序。因此,您必须在代码中创建线程,否则您的服务就是WCF服务。如果您自己创建线程,只需在创建后设置新线程的区域性。如果是WCF服务,请参阅。您需要实现

我需要为Windows服务设置CultureInfo,它是用C#4.0编写的。问题在于操作系统区域设置-它与我的服务的文化不同

因为我正在使用.NET 4.0(在.NET 4.5中,我可能会更改所有新线程的默认区域性),所以我的问题是:


如何在Windows服务中创建所有新线程,并为其设置CultureInfo

Windows服务并不意味着多线程程序。因此,您必须在代码中创建线程,否则您的服务就是WCF服务。如果您自己创建线程,只需在创建后设置新线程的区域性。如果是WCF服务,请参阅。您需要实现接口IDispatchMessageInspector,如果有来自客户端的新请求(可能会创建一个新线程),那么将调用ReceiveRequest后的方法,您可以在此方法中设置CultureInfo。
如果您的Windows服务不是WCF服务,请显示有关它的详细信息。

help@noobob,在您的链接中,topicstarter询问“如何将全球化资源添加到我的应用程序”。我的应用程序中已经有资源,但无法设置CultureInfo。这会导致错误的资源选择。@noobob,我忘了在WiX生成的msi中添加本地化资源。谢谢你的帮助!Windows服务有多个线程。即使我在服务的“Main”方法上设置了Thread.CurrentThread.CurrentUICulture,我的业务逻辑代码也在另一个线程中使用不同的CultureInfo执行。