什么是契约?

从SOA概念上讲,契约属于服务公开接口的一部分。一个服务契约,定义了服务端公开的服务方法,使用传输协议,可访问地址,传输的消息格式等内容。
换句话说:契约描述了该服务的功能和作用,它告诉SOA系统中的其他节点这个服务是干什么的

契约的分类

1、服务契约:客户端能够执行的操作

A、ServiceContract 声明一个服务的操作

B、OperationContract:用于类中的方法或借口上

2、数据契约:服务交互的数据类型。比如:string类型

3、消息契约:允许服务和消息直接交互。Message Contract

  定义:简单的说,它能自定义消息格式,包括消息头,消息体,还能提示是否对消息内容进行加密和签名

  

  对控制消息头和消息体元素提供了强力支持,支持MessageHeaderAttribute和MessageBodyMemberAttribute属性。可以添加自定义头,控制消息是否被包装(IsWrapped)以及控制签名和加密
(ProtectionLevel)

eg:

}

4、错误契约:定义服务抛出的错误,传递错误到客户端的方式。

WCF学习 (三)深入认识WCF契约相关推荐

  1. WCF学习(五)数据契约之已知类型

    准备技术: 1.C#基础知识 2.了解WCF基础知识 在正常的c#开发中我们是允许用子类去替换基类的,这也是所谓的替换原则.但是我们在WCF中确不能用数据契约的子类来替换父类的,因为这中间存在一个序列 ...

  2. WCF学习(一)WCF概述

    WCF是.NETFramework上灵活的通信技术.在.NET3.0推出之前,一个企业解决方案需要几种通信技术.对于独立于平台的通信,使用ASP.NET Web服务.对于比较高级的Web服务--可靠性 ...

  3. C# WCF学习并创建简单WCF示例

    文章目录 1. `以管理员运行VS` 创建WCF服务端项目 2. 覆盖IService1.cs 3. 覆盖Service1.cs 4.修改app.config 5. 在当前解决方案中新建控制台应用 6 ...

  4. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅-第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

  5. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅-第三个示例之一(二十七)               WCF学习之旅-第三个示例之二(二十八)              WCF学习之旅-第三个示例之三(二十九)   ...

  6. WCF学习(2)- 契约

    (原创:灰灰虫的家http://hi.baidu.com/grayworm) 契约是WCF中很重要的概念.它是用一种与平台无关的标准语法来描述WCF服务的功能.当客户端获取服务端WCF服务的时候,会根 ...

  7. WCF学习(二):契约

    (原创:灰灰虫的家http://hi.baidu.com/grayworm) 契约是WCF中很重要的概念.它是用一种与平台无关的标准语法来描述WCF服务的功能.当客户端获取服务端WCF服务的时候,会根 ...

  8. WCF分布式开发步步为赢(15):错误契约(FaultContract)与异常处理(ExceptionHandle)

    今天学习WCF分布式开发步步为赢系列的15节:错误契约(FaultContract)与异常处理(ExceptionHandle).本节内容作为WCF分布式开发的一个重要知识点,无论在学习还是项目中都应 ...

  9. WCF学习之旅—基于Fault Contract 的异常处理(十八)

       WCF学习之旅-WCF中传统的异常处理(十六) WCF学习之旅-基于ServiceDebug的异常处理(十七) 三.基于Fault Contract 的异常处理 第二个示例是通过定制Servic ...

  10. WCF学习笔记(2)——独立WCF服务

    本文将建立一个silverlight与wcf通讯的简单实例,wcf服务将被独立出来,而不再寄放在Web中.以下是详细步骤: 新建Silverlight应用程序,名称WCFtest,在解决方案上右键添加 ...

最新文章

  1. vue项目中使用echarts实现词云
  2. ubuntu安装高版本ruby
  3. 面试题27.二叉搜索树与双向链表
  4. 算法复习(7)有序二叉树
  5. Java System类
  6. nssl1469-W【dp】
  7. 详解 二叉搜索树-----AVL树
  8. 关于经典机器学习算法的一个总结
  9. 【Java】Java SimpleDateFormat 线程安全 问题
  10. CAD建模软件BricsCAD 22.2.03 for Mac
  11. Ubuntu下Apache+php+mysql网站架设详解
  12. lumion制作海上明月5.29
  13. 打开计算机左侧的桌面不见了,Win7资源管理器左侧桌面快捷方式不见了怎么办?...
  14. 【弄nèng - Activiti6】Activiti6入门篇(二十一)—— 事务子流程
  15. 【系统收藏——中天证券创鑫软件 官方版 [同时支持三板、港股行情、沪深300指数。]】
  16. 推荐一款卸载软件的小工具-《UninstallToo》
  17. UI5(十一)单元测试、与OPA的集成测试、Debugging 工具
  18. Sass系统技术选型笔记(2)JBPM
  19. HP Helion让合作伙伴到少增30%收入
  20. 东北育才 DAY2组合数取mod (comb)

热门文章

  1. java积分签到功能_对于签到功能的一点理解
  2. android 代码操作.db demo,Android实现商品展示效果
  3. sqlalchemy连接和关闭数据库
  4. python服务端开发调试日志系统_Loglog首页、文档和下载 - 基于 Python2.7 的日志系统 - OSCHINA - 中文开源技术交流社区...
  5. 【知识图谱系列】PairNorm、DropEdge、DAGNN、Grand和GCNII五篇2020 Over-Smoothing论文综述
  6. 【2016-2017 ACM-ICPC (ECNA 2016) F】Removal Game【区间DP】
  7. 大学数学实验习题--统计推断 03(附答案)
  8. java infinity 处理_Java:如何执行向-Infinity而不是0的整数除法?
  9. scala 主构造函数_Scala主构造器和辅助构造器
  10. html中父子元素的解释,CSS 子绝父相 理解