请介绍WCF服务

WCF本质上提供一个跨进程、跨机器以致跨网络的服务调用

WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中,WCF专门用于面向服务开发。

Contracts 定义服务契约(Service Contract)引用System.ServiceMode程序集

  [ServiceContract],来说明接口是一个WCF的接口。

  [OperationContract],来说明该方法是一个WCF接口的方法,不加的话同上。 

Services: SVC 继承Contracts 提供对WCF服务的实现, 定义在该项目中的所有WCF服务实现了定义在Contracts中相应的服务契约,所以Services具有对Contracts项目的引用;

Hosting一个控制台(Console)应用,实现对定义在Services项目中的服务的寄宿, 该项目须要同时引用Contracts和Services两个项目和System.ServiceMode程序集;

   WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段。终结点由地址(Address)、绑定(Binding)和契约(Contract)三要素组成

   地址(Address):地址决定了服务的位置,解决了服务寻址的问题

   绑定(Binding):绑定实现了通信的所有细节,包括网络传输、消息编码,WCF中具有一系列的系统绑定,比如BasicHttpBinding、WsHttpBinding、NetTcpBinding等

       契约(Contract):契约是对服务操作的抽象,也是对消息交换模式以及消息结构的定义。定义要调用的服务名称.

Client一个控制台应用模拟服务的客户端,该项目引用System.ServiceMode程序集

WCF的服务需要寄宿于一个运行的宿主,两种服务寄宿方式:通过自我寄宿(Self-Hosting)的方式创建一个控制台应用作为服务的宿主(寄宿进程为Hosting.exe);通过IIS寄宿方式将服务寄宿于IIS中。

基于Asp.net 的应用程序开发与面向服务开发

wcf

  在基于Asp.net 的应用程序开发中,我们由客户机的浏览器访问应用程序服务器,然后通过应用程序服务器中的数据库连接去连接数据库服务器,读取或是操作数据,有时候可能会多一个文件服务器。大家可以观察到,基本上所有的应用都放在了一台服务器上,但对于一个,由于业务上的需要(如:与外部系统交互),一台服务器很难支持所有的应用。我们再看下面的图:

wcf

  客户机使用浏览器访问服务器A,服务器A为了业务需要与其他各种应用部署在服务器B、C、D....再通过WCF技术互相通信,相互访问...然而面向服务的好处不仅仅在此,他还提供了不同语言不同操作系统的可交互性

原文地址:https://www.cnblogs.com/binyao/p/4901260.html