如何告诉某个WCF服务使用DataContractSerializer或NetDataContractSerializer?
假设我成功了,生成的代理会自动识别并使用正确的代理吗?
答案 0 :(得分:3)
DataContractSerializer
。在服务端,您可以使用行为控制使用过的序列化程序。默认情况下,您可以使用DataContractFormat
和XmlSerializerFormat
属性。这些属性可以应用于服务合同,服务实现或操作。在客户端,如果类型描述可由DataContractSerializer
序列化,则svcutil将使用数据协定序列化,否则将使用XmlSerializer
。
NetDataContractSerializer
没有准备好行为 - you must create it yourselves。客户端也无法识别它,因为当您使用NetDataContractSerializer
时,您将与客户共享具有类型(数据合同,服务合同)的程序集,因此您也可以共享行为并直接使用该行为标记服务合同。