2010-06-01 66 views
1

我正在Silverlight项目中添加WCF服务引用,它正在为DataMembers生成的代码与SOAP序列化相比具有XmlSerialization属性。但是,如果在ASP.Net项目中添加了相同的WCF服务引用,则会使用SOAP Serialization attribtues生成代码。任何人都可以让我知道可能是什么原因,以及如何强制引用来生成SOAP序列化? (System.CodeDom.Compiler.GeneratedCodeAttribute(“System.Xml”,“4.0.30319.1”)] SOAP Serialization - [System.CodeDom.Compiler.GeneratedCodeAttribute(“System.Runtime.Serialization”,“4.0.0.0”)XmlSerialization - [System.CodeDom.Compiler.GeneratedCodeAttribute )]这些是为类型生成的代码中的属性,我在说它使用的是XmlSerialization/SOAP序列化时正在查找的属性向Silverlight项目中的WCF服务添加服务引用默认情况下为DataMembers而不是SOAPSerilaization的XmlSerialization

回答

0

找到了行为的原因。 WCF服务中的其中一种方法是返回DataSet作为结果。由于Silverlight不支持直接的ADO.Net对象,因此Silverlight的代理生成器工具强制它生成XmlSerialization属性,而不是SOAP序列化属性。

+0

此选项的其他选项是使用直接SlSvcUtil.exe生成代理,并使用/ reference开关参考System.Data.dll,并且还强制使用带有/ serializer开关的DataContractSerializer。 – Shravan 2010-06-28 11:48:11

相关问题