• WCF学习笔记之基础知识梳理(1)


    比较重要的概念,学习WCF必须掌握的基础知识。

    1、契约

    任何一个分布式应用程序,它之所以能够互相传递消息,都是事先制定好数据交换规则的,这个规则正是交换数据的双方(比如服务器端和客户端)能彼此理解对方的依据,WCF 作为分布式开发技术的一种,同样具有这样一种特性。而在 WCF 中制定的的规则就被称之为契约(Contract) ,它是 WCF 的消息标准,是任何一个 WCF 程序不可或缺的一部分。

    WCF有四种契约:

    (1)用于定义服务操作的服务契约:Service Contract,服务契约描述了客户端能够执行的服务操作。这种级别的契约又包括两种:ServiceContract 和 OperationContract  。ServiceContract 用于类或者结构上,用于指示 WCF 此类或者结构能够被远程调用,而 OperationContract 用于类中的方法(Method)上,用于指示 WCF 该方法可被远程调用。

    (2)用于自定义数据结构的数据契约:Data Contract ,数据契约定义了与服务交互的数据类型。数据契约也分为两种:DataContract 和 DataMember。 DataContract 用于类或者结构上,指示 WCF 此类或者结构能够被序列化并传输,而 DataMember 只能用在类或者结构的属性(Property)或者字段(Field)上,指示 WCF 该属性或者字段能够被序列化传输。

    (3)用于自定错误异常的异常契约:Fault Contract,错误契约定义了服务抛出的错误,以及服务处理错误和传递错误到客户端的方式。我们可以自定义异常消息的格式,将我们关心的消息放到错误消息中传递给客户端,此时需要在方法上添加自定义一个错误消息的类,然后在要处理异常的函数上加上 FaultContract,并将异常信息指示返回为自定义格式。

    (4)用于控制消息格式的消息契约:Message Contract  ,消息契约允许服务直接与消息交互。消息契约可以是类型化的,也可以是非类型化的。如果系统要求互操作性,或者遵循已有消息格式,那么消息契约会非常有用。它能自定义消息格式,包括消息头,消息体,还能指示是否对消息内容进行加密和签名。

    2、终结点

    终结点有地址、绑定、协定和行为组成。

    (1)地址:地址唯一地标识终结点,并告诉服务的潜在客户其所在的位置。 在 WCF 对象模型中,地址由

    EndpointAddress 类表示。 一个 EndpointAddress 类包含:

    • 一个表示服务地址的 Uri 属性。
    • 一个表示服务安全标识和可选消息头集合的 Identity 属性。 可选消息头用于提供其他更多详细寻址
    • 信息来标识终结点或与终结点交互。

    (2)绑定:绑定指定如何与终结点进行通信。 这包括:

    • 要使用的传输协议(例如,TCP 或 HTTP)。
    • 要用于消息的编码(例如,文本或二进制)。
    • 必需的安全要求(例如,SSL 或 SOAP 消息安全)。

    (3)协定:协定概述了终结点向客户端公开的功能。 协定指定:

    • 客户端可以调用的操作。
    • 消息的窗体。
    • 调用操作所需的输入参数或数据的类型。
    • 客户端可以预期的处理或响应消息的类型。

    (4)行为:可以使用终结点行为来自定义服务终结点的本地行为。 终结点行为是通过参与构建 WCF 运行库

    的过程来实现这一点的。 终结点行为的一个示例是 ListenUri 属性,可以利用该属性指定与 SOAP 或

    Web 服务描述语言 (WSDL) 地址不同的侦听地址。

  • 相关阅读:
    高精度、大整数幂取模
    关于正则表达式
    003.android资源文件剖析(Resources)
    myBatis 基础测试 表关联关系配置 集合 测试
    Android应用开发学习笔记之播放音频
    移植一个开源点餐网到SAE平台上
    6.0RMB MP3所看到的……
    [读书笔记]设计原本[The Design of Design]
    递归 和 非递归 遍历二叉树
    Android应用开发学习笔记之播放视频
  • 原文地址:https://www.cnblogs.com/dream844/p/2948544.html
Copyright © 2020-2023  润新知