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

推荐订阅源

博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
B
Blog RSS Feed
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
MongoDB | Blog
MongoDB | Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
D
Docker
Jina AI
Jina AI
IT之家
IT之家
人人都是产品经理
人人都是产品经理
L
LangChain Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
博客园 - 叶小钗
The GitHub Blog
The GitHub Blog
The Cloudflare Blog
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog

博客园 - 斧头帮少帮主

猜一猜,会输出什么? 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描述),可以脱离代码,实现程序间的互操作,达到松耦合的目的.

博客园斧头帮少帮主