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的体系结构

如上图所示,WCF为四层体系结构。在上一篇的示例中我们实际上已经接触到了这四层结构:
协定(契约)层:在我们的IFirstService接口中通过ServiceContract以及OperationContract特性创建了一个服务契约
服务运行时层:在我们的Host项目中,通过配置文件控制了我们服务的元数据行为:即公开服务元数据:

隐藏行号 复制代码 ? App.config
  1. <behaviors>
  2.   <serviceBehaviors>
  3.     <behavior name="behaviorConfiguration">
  4.       <serviceMetadata httpGetEnabled="true"/>
  5.     </behavior>
  6.   </serviceBehaviors>
  7. </behaviors>

消息传递层:同样在Host项目中,通过配置文件,我们指定终结点的绑定为basicHttpBinding预定义绑定,该预定义表示我们的服务采用http通道及标准的文本SOAP编码方式

激活和承载层:即对应于我们示例中的Host项目的控制台程序,该程序承载了我们的服务,即服务的宿主程序。

Next,我们将进入WCF的殿堂……

最新文章

  1. Python学习基础知识概要
  2. 在apache中设置访问目录后进入的默认页面为index.php
  3. jQuery跨域
  4. mongodb初步使用
  5. 有了JSON.stringify(),处理json将变得更简单!!
  6. iOS开发之 获取手机的网络的ip地址
  7. private
  8. 大数据学习之测试hdfs和mapreduce(二)
  9. xcode 5与ios 7的屏幕适配问题
  10. 在GNU/Linux下设置与定时更换桌面壁纸
  11. Solr field alias
  12. Linux之 proc文件系统
  13. CentOS安装glibc异常Protected multilib versions
  14. SLICK基础
  15. char和string的不同点
  16. C++经典面试题(最全,面中率最高)
  17. 吴裕雄 24-MySQL 索引
  18. position sticky的兼容
  19. kubernetes备份和恢复
  20. Oracle行列转换小结

热门文章

  1. Oracle中的AS和IS
  2. List集合
  3. Windows 7 EXE图标丢失修复方法
  4. ORM之四:调用入口与调用示例
  5. 华为的JAVA面试题及答案(部分)
  6. iOS开发——总结篇&amp;IOS开发基础知识
  7. ABAP 常用系统变量
  8. MyDetailedOS
  9. [Effective C++ --016]成对使用New和Delete时要采用相同形式
  10. Hibernate中SQLite方言