WCF编程系列(二)了解WCF
2016-03-25 10:37
225 查看
WCF编程系列(二)了解WCF
面向服务服务是复用进化的结果,起初的复用是函数,面向对象编程的出现使复用从函数上升到对象,随后面向组件编程又将复用从对象上升到组件,现在面向服务编程将复用提升到服务层次。
在面向服务的应用程序中,开发者只需要关注业务逻辑的编写,以及通过可交换的、可互操作的服务终结点暴露业务逻辑。客户端调用这些终结点,而不是服务代码
或它的实现包。客户端与服务终结点的交互基于标准的消息交换,服务发布各种标准元数据,描述服务的功能,以及客户端调用服务操作的方式。正因为是基于标准
的交互,所以实现服务端与客户端的技术与品台可以完全不同。
WCF的优势
在WCF之前,.NET
Framework提供了多种分布式技术,如ASP.NET Web服务、.NET
Framework远程处理、企业服务、WSE以及Microsoft消息队列。一般我们在编写一个应用程序时通常会同时使用多项技术,现在WCF已经将
这些技术整合,通过WCF即可实现这些技术的所有功能。
WCF的基本通信机制是基于SOAP的Web服务,因此基于WCF的应用程序可以与运行在各种不同坏境中的软件进行通信:
1.运行在同一台Windows计算机的不同进程中、基于WCF的应用程序
2.运行在另一台Windows计算机的基于WCF的应用程序
3.基于J2EE应用服务器等其他技术构建的、支持标准Web服务的应用程序。
WCF的体系结构
![](http://images.cnblogs.com/cnblogs_com/xfrog/WindowsLiveWriter/WCFWCF_D0C8/1_thumb.jpg)
如上图所示,WCF为四层体系结构。在上一篇的示例中我们实际上已经接触到了这四层结构:
协定(契约)层:在我们的IFirstService接口中通过ServiceContract以及OperationContract特性创建了一个服务契约
服务运行时层:在我们的Host项目中,通过配置文件控制了我们服务的元数据行为:即公开服务元数据:
隐藏行号 复制代码 ? App.config
<behaviors>
<serviceBehaviors>
<behavior name="behaviorConfiguration">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
消息传递层:同样在Host项目中,通过配置文件,我们指定终结点的绑定为basicHttpBinding预定义绑定,该预定义表示我们的服务采用http通道及标准的文本SOAP编码方式
激活和承载层:即对应于我们示例中的Host项目的控制台程序,该程序承载了我们的服务,即服务的宿主程序。
Next,我们将进入WCF的殿堂……
相关文章推荐
- Caused by: java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SIN
- WCF编程系列(一)初识WCF
- C++实验2-类和对象1
- 利用phpmyadmin修改mysql的root密码及如何进入修改密码后的phpmyadmin
- Java day09 String(1)
- C++中const、volatile、mutable的用法
- C#控制鼠标移动
- ibatis 批量插入,批量更新,批量删除,xml与Java代码实现方式
- 安装win32com报错-Python Version 2.7 required which was not found in the registry 问题解决 .
- Spring事务Transaction配置的五种注入方式详解
- javaweb学习总结(十五)——JSP基础语法
- C/C++ 编程计算2的100万次方(m的n次方),超长结果输出文件
- java观察者模式
- IIR 滤波器的实现(C++)
- PHP - Iterator接口详解
- C++三大函数(The Big Three)
- java代码解析excel文件(包含日期、小数的处理)
- mybatis 集成spring 动态数据源,注解式切换
- 手动获取SpringBean
- Java spring 自动任务