是否有可能重新定义wcf消息的格式?

时间:2011-09-18 14:05:05

标签: .net web-services web wcf

我正在研究服务器应用程序,它将使用Web服务与用户客户端进行通信。我需要在每个平台(基本上是所有类型的手机)上都可以访问服务,所以默认情况下使用WCF在客户端会很痛苦,但我想知道,如果有一个不太难的方法来定制WCF消息,这样我就可以给客户提供准确,易用的规范。

1 个答案:

答案 0 :(得分:2)

您可以使用服务合约上的属性在DataContractSerializer(默认)或XmlSerializer之间进行选择。还有NetDataContractSerializer,但您不能将其与属性一起使用。

使用DataContractSerializer

[DataContractSerializerFormat]
[ServiceContract]
public interface IYourService
{
     ......
}

使用XmlSerializer

[XmlSerializerFormat]
[ServiceContract]
public interface IYourService
{
     ......
}

如果你真的必须,你可以定义自己的序列化程序来完全按照你想要的方式处理序列化(注意这需要的工作量!)。

有关序列化程序的详细信息,请参阅Service Station: Serialization in WCF