惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
小众软件
小众软件
I
InfoQ
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Martin Fowler
Martin Fowler
月光博客
月光博客
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
V
Visual Studio Blog
博客园 - 叶小钗
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
GbyAI
GbyAI
P
Proofpoint News Feed
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 斧头帮少帮主

猜一猜,会输出什么? ASP.NET错误处理的两种方案_AX Log4Net最简单的使用配置_AX 一个修改后的JS日历(Calendar)控件_AX - 斧头帮少帮主 - 博客园 页面回传(PostBack)后恢复滚动条的位置_AX - 斧头帮少帮主 - 博客园 Hidden Field 的值不能回传(PostBack)到后台_AX Delegate(代理)异常:该委托必须有一个目标 WCF学习随笔6--Version变更--我们在前进_AX WCF学习随笔5--我知道:Known--可憐的孩子_AX WCF学习随笔4--契约|序列化详解--祭斧_AX WCF学习随笔3--第一个Sample--祭斧_AX - 斧头帮少帮主 - 博客园 WCF学习随笔1--扫盲--磨斧_AX 把项目运行情况写入系统日志(Log)的三种方法【续】_AX 把项目运行情况写入系统日志(Log)的三种方法_AX 为用户控件User Control添加事件_AX XML常用操作总结_AX DataTable常用操作总结_AX - 斧头帮少帮主 - 博客园 .NET(C#)代码性能优化_AX - 斧头帮少帮主 - 博客园 Panel的不足及弥补_AX - 斧头帮少帮主 - 博客园
WCF学习随笔2--Contract--磨斧_AX
斧头帮少帮主 · 2008-03-13 · via 博客园 - 斧头帮少帮主

既然要通信,双方就得有个协定.
这个协定就是Contract,一般译为契约.

Contract分为四种:
Service Contract:使客户端能够找到该服务.
Data Contract :传递数据的格式.
Message Contract :包含传递数据和其描述.分为Head和Body两部分.
Fault Contract :用于自定义错误异常的处理方式.


有了Contract,就可以通信了,如下图:
Server端的宿主有一个Service,(可以有多个,官方推荐使用一两个就够用了).每个Service可以有多个Endpoint,通过Endpoint就可以收发消息了.  A表示消息的目标(如:127.0.0.1/AX.svc).  B表示绑定的什么协议(Http/Tcp). C表示上面说的Contract,里面有描述和数据,对操作的约束等.

通过共享Contract(以WSDL描述),可以脱离代码,实现程序间的互操作,达到松耦合的目的.

博客园斧头帮少帮主