wcf服务发布两个endpoint_跟我学习WCF服务程序第一天:走近WCF

写在前面:笔者马上毕业了,也要开始准备做毕业设计了。但是不想按照自己熟悉的开发语言来做,选择一个比较陌生的框架和语言来做这个系统。一方面可以让自己每天都有任务学习,另一方面也是在考验自己,看看自己能不能坚持的下去。系统准备融合WCF服务程序来开发,所以今天是学习WCF服务程序的第一天:让我们一起走进WCF。

1. 什么是WCF?

Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。

5cb9283de43fae3c9d8e748586bcf21d.png

相关服务

本质上来讲,WCF其实是一套软件开发包。WCF是.NET框架的一部分,由 .NET Framework3.0 开始引入,与Windows Presentation Foundation及Windows Workflow Foundation并行为新一代 Windows操作系统以及 WinFX 的三个重大应用程序开发类库。在 .NET Framework2.0 以及前版本中,微软发展了 Web Service(SOAP with HTTP communication),.NET Remoting (TCP/HTTP/Pipeline communication) 以及基础的 Winsock 等通信支持。

由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性,对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须要重新学习,让开发人员在使用中有许多不便。同时,面向服务架构(Service-Oriented Architecture) 也开始盛行于软件工业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是WCF。

2. WCF体系架构简介

1d3a131661dfacf82d239a911f1edbe1.png

WCF体系结构

由上图可以看出,WCF框架服务分为四个部分:

1、协定(也叫契约)

2、服务运行时

3、消息传递

4、激活和承载(宿主程序)

3.WCF基础概念介绍

地址:在WCF中,每一个服务都有唯一的地址(Address)。地址包含两个重要的元素:服务位置及传输协议

地址通信格式:[基地址]/[可选的URI]

基地址常用格式:[传输协议]://[机器名或域名][:可选端口]

备注:URI可以是任意的唯一标识的字符串,如服务台名称或全局统一标识符(GUID)

绑定:WCF引入绑定(binding),将这些通信特征组合在一起。一个绑定封装了诸如传输协议、消息编码、通信模式、可靠性、安全性、事务传播,以及互操作性等相关选项,使得他们保持一致

WCF定义了五种常用的绑定

基本绑定(BasicHttpBinding)、TCP绑定(NetTcpBinding)、IPC绑定(NetNamePipeBinding)、Web服务绑定(WSHttpBinding)、MSMQ(NetMsmqBinding)

契约:WCF的所有服务都会公开为契约(Contract)。契约与平台无关,是描服务功能标准方式,WCF定义的契约有以下四种类型。

服务契约(ServiceContract)、数据契约(DataContract)、错误契约(FaultContract)、消息契约(MessageContract)

终结点:服务与地址、绑定及契约有关,其中,地址定义了服务的位置,绑定定义了服务通信的方式、契约定义了服务的内容。为方便记忆,可以将这种类似于“三权分立”的管理服务方式简称为服务的ABC。WCF用终结点表示这样一种关系,终结点就是地址、契约与绑定的混合品。如下图所示:

521f70d619dc5167bbbed126020a4846.png

终结点

元数据:元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。

有两种方式可以发布服务的元数据:一种是基于HTTP-GET协议提供元数据,它是一种绝大多数平台都能支持简单的text-based协议;另一种则是使用专门的终结点方式提供元数据。

宿主:WCF服务不能凭空存在。每个WCF服务都必须托管(Host)在Windows进程中,该进程称为宿主进程(host process)。宿主可以由Internet信息服务(IIS)提供,也可以由Windows Vista、Windows Service 2008、Windows 7,以及更新版本的Windows激活服务(Windows Activation Service WAS)提供。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值