wcf契约具体介绍

来源:互联网 发布:数据统计表格模板 编辑:程序博客网 时间:2024/05/17 09:14

       wcf契约类型大致可以分为四类,服务契约,数据契约,消息契约和错误异常契约。

 

     服务契约:意思是提供服务的契约,有客户端通过proxy通过暴露出的endpoint调用主机host的service的逻辑。proxy是通过创建一个host绑定的service的代理类,实现服务逻辑。

      ServiceContractAttribute
      – 定义服务操作

                

      

         Name  自定义接口或方法的名称,在客户端生成proxy时传服务契约的名称

         Namespace 自定义命名空间

         SessionMode 设置服务契约的 Session 方式,包括 AlloweNotAllowedRequiredSessionMode 需要相应的 Binding 支持,默认情况下会自动启用,另外我们还会和 ServiceBehaviorAttribute.InstanceContextMode 配合使用来管理服务对象的生命周期。

         CallbackContract:设置 duplex 模式时的回调类型。

         ProtectionLevel:指定消息保护方式,可以对消息进行加密和签名处理。

        ConfigurationName 其设置信息在配置文件中的名称。

 OperationContractAttribute

    – 方法作为公共服务契约的一部分暴露出来

 能够显式地指定Name, Action, ReplyAction

 

MessageParameterAttribute

  用来控制参数或者返回名称,映射作用。具体如下:有一个Java的客户端,发送一个SOAP给WCF服务,WCF会检查SOAP中有没有的对应定义的MessageParameter Name,如果有就会对应到WCF函数中的相应位置,通过这种映射关系,然后通过反序列化把数据传到WCF的对应方法中,实现对象的传递。

 

 

   数据契约:是复杂类型在午wcf中需要序列化所引入的概念,数据契约可以分三种形式: