我有一个WCF服务需要解析一些数据。事实证明,在不同的CultureInfo中,数据(点,大小)得到不同的转换,并且解析分散在很多类和方法中。由于所有解析都是在不传递任何CultureInfo的情况下完成的,解析的成功取决于线程文化。在wcf服务电话上设置CultureInfo?
由于CultureInfo没有编程设置,因此服务会以某种方式从机器中选取当前的cultureinfo。我不知道它是从哪里得到的,因为对区域和语言选项的更改似乎对wcf服务的cultureinfo没有任何影响。也改变了web.config(是的,该服务托管在iis)似乎也没有工作。
我真的只剩下一个选择吗?以编程方式设置CultureInfo?我可以找到所有的转换调用并传入一个CultureInfo,或者我可以在Thread.CurrentThread.CurrentCulture上设置它。我有没有办法一劳永逸地设置CultureInfo - 对所有暴露的wcf方法有影响?
博客文章很好,但在我的情况下,这意味着重写服务一点,至于全球化元素 - 我试过但它没有工作 - 我想我会再试一次,也许我搞砸了up :) – 2009-04-28 11:16:09
全球化元素似乎对wcf线程的文化没有任何影响。 – 2009-04-28 11:34:12
您还有其他可能影响文化的东西吗? Web.config将工作。 有没有可能向我们展示有问题的代码?你是否清楚你正在使用的文化。例如,如果你调用String.Format,那么你是否使用了一个接受CultureInfo的重载? – 2009-04-28 12:07:25