- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 VS2010 构建 WCF 客户端。我们使用的 Web 服务定义了一些返回为 xs:nonNegativeInteger 的数据。然而,VS2010 在生成 WCF 客户端代码后,会为这些 xs:nonNegativeInteger 属性生成具有字符串类型属性的类。
我想知道为什么会这样,以及是否以及如何告诉 VS2010 将其映射从 xs:nonNegativeInteger 调整为整数而不是字符串。
(我无法更改我们使用的 Web 服务的 wsdl...而且我也对简单地更改生成的代码犹豫不决,以防我们需要更新服务引用,所以某种数据类型映射通过配置将是理想的。)
谢谢大家!
我们使用的 WSDL 示例片段:
<xs:element minOccurs="0" name="blub" type="xs:nonNegativeInteger" />
生成的 WCF 客户端代码的示例片段:
<System.Xml.Serialization.XmlElementAttribute(DataType:="nonNegativeInteger", Order:=0)> _
Property blub() As String
最佳答案
您似乎已将 SvcUtil 配置为使用 XmlSerializer
而不是 DataContractSerializer
。 MSDN 说 XmlSerializer
将序列化 xs:nonNegativeInteger to string而 DataContractSerializer
将 serialize it to Int64 (在每个页面中搜索“nonNegativeInteger”)。
如果出于某种原因不想使用 DataContractSerializer
,最好的选择是利用生成的代理类作为 partial
类并创建一个单独的属性(int
或 long
)封装转换逻辑,而不影响 WCF 如何序列化/反序列化该字段。
顺便说一句:如果 string
转换真的让你很烦,vote up this issue in CodePlex .
关于visual-studio-2010 - 为什么VS会生成一个xs :nonNegativeInteger attribute for WCF client?的字符串属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13566781/
我有一个像这样的结构: struct S { data: i32, fun: Box, } 并希望使用编码器序列化数据部分。为此,我使用 rustc_serialize 并推导出它的特
我在 tomcat 中使用基于表单的身份验证,实际上我使用的是 j_security_check。代码如下 Login to the Tomcat-Demo applic
我是一名优秀的程序员,十分优秀!