在wcf服务调用上设置CultureInfo?

Per*_*eck 6 .net wcf cultureinfo

我有一个运行WCF服务,需要解析一些数据.事实证明,数据(点,大小)在不同的CultureInfo中被不同地转换,并且解析在很多类和方法中展开.由于所有解析都是在不传递任何CultureInfo的情况下完成的,因此解析的成功取决于线程文化.

由于没有CultureInfo的编程设置,服务以某种方式从机器中选择当前的cultureinfo.我不知道它在哪里得到这个,因为对区域和语言选项的更改似乎对wcf服务的cultureinfo没有任何影响.对web.config的更改(是的,服务托管在iis中)似乎也不起作用.

我真的只留下一个选择吗?以程序方式设置CultureInfo?我可以找到所有转换调用并传入CultureInfo,或者我可以在Thread.CurrentThread.CurrentCulture上设置它.难道我无法一劳永逸地设置CultureInfo - 对所有暴露的wcf方法产生影响吗?

小智 5

关于在web.config中使用标记的答案仅在启用Asp.net兼容模式时才有效.你还需要以下内容:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
Run Code Online (Sandbox Code Playgroud)

如果没有Asp.Net兼容模式,则不使用http模块,并忽略标记.