[WCF 学习笔记] 9. 端点绑定
来源:互联网 发布:mac外置触摸板 编辑:程序博客网 时间:2024/05/20 06:41
Endpoints 包含了重要的地址信息,包括服务地址以及通讯协议,客户端只有获知这些信息才能与服务建立通讯。而 Binding用于指定 WCF 两个端点(endpoint)之间的通讯细节,两个端点的 Binding应该是一致的。端点和绑定对象合作,共同完成服务通讯和调用。服务面对的客户端是多样的,不同的客户端可能选择不同的通讯方式,不同的安全方案。WCF允许我们为服务添加多个绑定和端点,这样我们就可以使用同一个服务为不同的客户需求提供解决方案,这是 WebServices 和 Remoting所无法完成的。
Endpoints 格式:scheme://machine:port/path
如:
http://192.168.0.1:8080/IService1
net.tcp://202.100.100.1:123/IService2
net.pipe://localhost/MyPipe
net.msmq://localhost/MyService
Binding 的内容包括:
- Protocols: 设置安全机制。如消息可靠接收,事务上下文等。
- Encoding: 设置消息编码方式。如 Text/XML、Binary 或 MTOM。
- Transport: 设置底层通讯协议。如 Http、TCP 等。
Binding由一系列分工合作的 Element 组成,其中至少包括用于通讯和消息编码的两个 Element。WCF Framework为我们提供了大量常用的 Binding,当然我们也可以自己开发专用的 Binding 类型。使用 Binding很简单,创建系统提供或自己开发的 Binding对象,调整或使用其默认属性,最后用该绑定对象作为参数创建端点即可。我们可以使用编码或者配置文件来调整绑定对象的属性,有关配置文件的信息可以参考MSDN 或者雨痕后面撰写的章节。
WCF Framework 提供的 Binding
- BasicHttpBinding: 最简单的绑定类型,通常用于 Web Services。使用 HTTP 协议,Text/XML 编码方式。
- WSHttpBinding: 比 BasicHttpBinding 更加安全,通常用于 non-duplex 服务通讯。
- WSDualHttpBinding: 和 WSHttpBinding 相比,它支持 duplex 类型的服务。
- WSFederationHttpBinding: 支持 WS-Federation 安全通讯协议。
- NetTcpBinding: 效率最高,安全的跨机器通讯方式。
- NetNamedPipeBinding: 安全、可靠、高效的单机服务通讯方式。
- NetMsmqBinding: 使用消息队列在不同机器间进行通讯。
- NetPeerTcpBinding: 使用 P2P 协议在多机器间通讯。
- MsmqIntegrationBinding: 使用现有的消息队列系统进行跨机器通讯。如 MSMQ。
Binding 基本信息
粗体表示其基本编码方式。我们注意到 NetTcpBinding、NetPeerTcpBinding、NetNamedPipeBinding、NetMsmqBinding 只能用于 .NET WCF-to-WCF。
(图片选自 《Programming WCF Services》)
Binding 选择策略
(图片选自 《Programming WCF Services》)
有关 Binding 的更详细信息请参考 ms-help://MS.MSSDK.1033/MS.NETFX30SDK.1033/WCF_con/html/2c243746-45ce-4588-995e-c17126a579a6.htm
Example
Server.cs
host.AddServiceEndpoint(typeof(ICalculate), new WSHttpBinding(), "http://localhost:8080/calc");
host.Open();
Client.cs
client.Add(1, 2);
- [WCF 学习笔记] 9. 端点绑定
- WCF 学习笔记之绑定(Binding)
- WCF学习笔记(九):WCF绑定使用netMsmqBinding消息队列
- 深入学习WCF-绑定
- WCF学习笔记(七)WCF编程方式实现协议和终结点绑定
- WCF学习笔记(六)自定义绑定和C/S之间传输流的绑定
- [WCF学习笔记] Endpoint
- [WCF学习笔记] Hosting
- [WCF学习笔记] Binding
- wcf学习笔记
- WCF学习笔记
- WCF学习笔记
- WCF学习笔记(一)
- WCF 学习笔记
- Wcf学习笔记
- WCF 学习笔记
- WCF学习笔记
- WCF学习笔记
- J2ME技术在手机开发领域的优势和不足
- [WCF 学习笔记] 8. 数据传输
- 在J2ME联网应用中获得客户端的手机号码
- 在J2ME中获得手机IMEI的方法
- 测试手机对J2ME支持情况
- [WCF 学习笔记] 9. 端点绑定
- 使用window.createPopup();做的简单下拉菜单
- 韩老师整理的对JavaScript的理解
- 使用J2ME发送手机短信息
- 基于TCP的网络通信程序演示[命令行程序]
- 学习J2ME编程需要掌握的七种技术
- J2ME学习
- [WCF 学习笔记] 10. 行为控制
- MIDP2.0手机上的手电筒程序(附代码)