WCF服务方法参数

时间:2009-08-27 01:07:14

标签: c# .net wcf

我有一个basicHttpBinding WCF服务。 通过合约,我公开了一个以IEnumerable<myType>为参数的方法。 myType类继承自ISerializable,我实施GetObjectData(),构造函数为myType(SerializationInfo info, StreamingContext context)

当我将方法保留在以IEnumerable<myType>作为参数的WCF合约中时,我无法真正使用该服务。我能够添加一个引用,但它实际上并没有公开我期望的任何方法。

我做了一些阅读我见过很多让人们通过网络方法传递参数的人使用[XmlSerializerFormat]属性。

我认为我正在尝试使用二进制序列化,但这不起作用。 是否有任何类型的WCF服务可以传输二进制文件,或者它们都必须是XML序列化的?如果是这样,我如何确保myType是XML Serializable。

1 个答案:

答案 0 :(得分:1)

您应该阅读并实施数据合同序列化。见Using Data Contracts。除非您需要精确控制线上XML的“形状”,否则不要使用XML Serializer。