我将 WCFWebInvokeAttribute
用于声明性 JSON 请求 ( DataContractJsonSerializer
),并带有DataContractAttribute
/DataMemberAttribute
基于的序列化。
我使用的服务支持返回包含基于不同文化的数据的 JSON。默认情况下,此服务使用 en-US 文化设置,这意味着小数分隔符将为“.”。
我有一个有System.Double
属性的类。如果我使用使用“,”作为小数分隔符的区域性请求数据SerializationException
,则在解析以下内容时,我会尝试反序列化此属性的值System.Double
:
“反序列化 XXX 类型的对象时出错。值 '1,6276' 无法解析为类型 'double'。”
这当然是因为在解析 Double 时使用了不变的文化。我希望在当前线程上设置正确的文化可以解决这个问题,但它没有。
因此,对于任何不使用“.”的文化,服务都会中断。作为小数分隔符。
将感谢帮助。
谢谢!