2010-06-01 54 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

相關問題