【发布时间】:2017-08-01 17:33:07
【问题描述】:
添加 wcf 引用:文件 Reference.cs 无法生成 [System.Runtime.Serialization.DataContractAttribute(Name="ClassName", Namespace="..."] 但生成 [System.Xml.Serialization.XmlTypeAttribute(Namespace ="...")] 在 className(DataContract) 之上。例如: 但我想让 Reference.cs 生成以下代码:
怎么做? 如果是 [System.Xml.Serialization.XmlTypeAttribute(Namespace="...")] ,则 wcf 传递参数 ClassName 的实例导致 ClassName 的 Int32 FieldName = 0。 但是如果是[System.Runtime.Serialization.DataContractAttribute(Name="ClassName", Namespace="..."],wcf 传递参数ClassName 的实例可以得到正确的值。
如何解决?
我的服务器界面:
我的模特:
【问题讨论】:
-
您的 WSDL 与 DataContractSerilizer 不“兼容”。 msdn.microsoft.com/en-us/library/ms731923(v=vs.110).aspx - 它依赖于 XmlSerializer
-
感谢您的回复!但是我的模型是[DataContract],为什么要自动生成XmlTypeAttribute,怎么解决?
-
另外,请删除代码截图并将实际代码放入问题中。很难阅读。
-
DataSet中的DataTable中包含UserPrivilegeInfo类型时,XmlSerializer被使用而不是DataContractSerializer的具体原因在 Cannot serialize member … of type System.Collections.Generic.Dictionary`2 because it implements IDictionary 中进行了解释。 -
@dbc,非常感谢!
标签: c# .net wcf serialization visual-studio-2013