WCF stuff (1) 契约

wsdl 文件

配置<message/>  -> service的输入消息和输出消息

        <porttype/>     -> web service 服务 包含 operation 定义(具体的服务方法)

        <binding/>


WCF默认序列化器是DataContractSerializer,如何希望使用Xml序列化器,需要在接口上[XmlSerializerForma]


OperationContract(Action="*")

那么这个operation用以处理那些这个contract的别的operation不能处理的message,这个方法输入参数必须是message,输出参数可以是message或者void

Action属性是用以作message dispatch的,所以每个operation必须唯一


IsInitiating/IsTermination 用以控制会话,这个有个疑问,WCF 在会话上是怎么做的,在MSDN上有http://msdn.microsoft.com/en-us/library/ms733040.aspx 可以有时间看一下


DataContract 属性 

IsReference 
Use the IsReference property to instruct the DataContractSerializer to insert XML constructs that preserve object reference information.

DataMember 属性

Order 控制序列化,反序列化的顺序


KnownType  用以解决派生类问题,在基类上面加上所有在通信中要用到的派生类,就可以了。


IExtensibleDataObject  用以作数据兼容性,防止数据丢失。


DataContract 与 MessageContract 在一个operation的所有参数中不能混用,使用messageContract的目的在于希望可以控制soap消息本身 [MessageHeader ]  [MessageBodyMember]






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值