【学习背景】
在之前的几篇博客中,我们了解到了WCF从哪里来,什么是WCF,这篇博客,我们继续学习有关WCF的基础知识。
【学习内容】
一.地址
1.地址格式
地址通常采用如下格式:
[基地址] / [可选的URI]
基地址(Base Address)通常的格式如下:
[传输协议] : // [机器名或域名] [:可选端口]
ITOO学籍管理示例:
含义是:
采用HTTP协议访问localhost机器,BasicStudentService服务在8335端口处等待用户的调用。
2.地址类型:
TCP、HTTP、Peer network(对等网)、IPC(基于命名管道的内部进程通信)、MSMQ
二.契约
1.是什么:
与平台无关,是描述服务功能的标准方式。
2.契约类型:
服务契约(Service Contract):描述了客户端能够执行的服务操作。
数据契约(Data Contract):定义了与服务交互的数据类型。
错误契约(Fault Contract):定义了服务抛出的操作,以及服务处理错误和传递错误到客户端的方式。
消息契约(Message Contract):允许服务直接与消息交互。极少使用
3.定义与使用:
三.托管
1.有何而来:
每个WCF服务都必须托管。在Windows进程中,该进程被称为宿主进程(Host Process)。单个宿主进程可以托管多个服务,而相同的服务类型也能够托管多个宿主进程中。宿主可以由IIS提供,也可以由WindowsVista的Windows激活服务提供,或者开发者直接将它作为应用程序的一部分。
2.IIS托管:
优势:宿主进程可以在客户端提交第一次请求的时候自动启动,还可以借助IIS管理宿主进程的生命周期。
缺点:只能使用HTTP协议。
3.Web.Config文件:
配置文件中必须列出需要公开为服务的类型。类型使用类型全名,如果服务类型来自于一个没有被引用的程序集,则还需要包括程序集名:
ITOO学籍管理模块:
四.绑定
1.从何而来:
服务之间的通信方式多种多样,可能存在多种通信模式。
同步/异步请求、即时/持久消息;
传输协议也有多种;消息编码格式也存在多种,消息的安全保障也有多种策略。
客户端与服务必须合理的组合这些选项,才能保障通信的顺畅。
为了简化这些选项,使它们易于管理,WCF引入了绑定。
2.是什么:
一个绑定封装了诸如传输协议、消息编码、通信模式、安全性等相关选项的集合,使它们保持一致。
3.9种标准绑定:
基本绑定(Basic Binding):由BasicHttpBinding类提供。
其它绑定:TCP/对等网/IPC/Web服务/WS联邦/WS双向/MSMQ/MSMQ集成绑定。
基本绑定的格式与编码:
BasicHTTPBinding: HTTP/HTPPS协议,Text/MTOM编码格式,支持互操作性。
五.终结点:
1.是什么:2.管理方式配置终结点:服务与地址、绑定以及契约有关。
其中,地址定义了服务的位置,绑定定义了服务通信的方式,契约定义了服务的内容。 WCF中便用终结点表示这样一种组成关系,终结点就是地址、契约与绑定的混成品。
ITOO中终结点的配置:
【学习心得】
通过这一次的学习,算是把WCF的基础知识系统的学习了一遍。之前总是在代码中知道,有个模板怎么写,自己也就跟着那么写,并不清楚,代码的具体内涵。而现在有了代码和基础知识的结合,自己也明白了为什么会这么写,以及这么写的含义。这些基础知识点,还是需要自己点点滴滴去积累的。