我们近期在做项目的时候用到了WCF,之前已经看了部分视频,对于WCF有了一定的了解,但仅限于能够根据搭建好的框架使用WCF,还不了解。所以就进行了研究,这样既有实践也能增加理论,二者结合,使用起来更胜一筹。
小编先从一些基本的概念开始,从基础一点点开始研究。
【WCF简介】
WCF(Windows Communication Foundation)是由微软开发的一系列数据通信的应用程序框架,可以翻译为Windows通讯开发平台。从本质上来说,她是一套软件开发包。WCF应用程序由三部分组成——WCF服务、WCF服务主机和WCF服务客户端。
【基本概念】
一、终结点(EndPoing):
定义了一个消息将被发送和接收的地址,是WCF实现通信的核心要素。一个WCF Service有一个端点集组成,每个端点就是用于通信的入口,客户端和服务端通过EndPoint交换信息。如下图能看出client和service端通过Endpoint交互。
从图中可以看出WCF由三个部分组成,Address,Contract,Binding;这三者简称为abc
1)a(address)——在哪里
是指定要接收的消息的准确位置和被指定为一个统一资源标识符(URL)。
一个服务地址有一个资源。
其表现形式为://域名[:端口]/[路径]
2)b(binding)——怎样做
实现了在client和service通信的所有底层细节,它定义了一个端点通信
(要与传输协议相匹配),绑定的内容有:绑定所需的协议、消息编码协
议、安全保障策略。
3)c(contract)——做什么
主要作用是暴露了WCF Service所提供的有效服务,通过在client端引用
contract文件,我们就能使用服务端的提供的服务,在这之中,contract
起到至关重要的作用,它将每个Operation转化成为相对应的
Message Exchange Pattern(MEP)(请点击了解)。
补充:
终结点还有一个组成部分是:行为(behavior),behavior主要作用是定
制终结点在运行时的一些必要的Behavior。终结点行为通过参与构建WCF
运行库的过程来实现这一点。
二、元数据
是WCF服务核心部分address、binding、contract的原始描述信息。服务所公开的元数据包括XSD和WSDL文档。
XSD:文档中出现的元素、出现的属性、子元素、子元素数量、子元素顺序、元素
是否为空、元素和属性的数据类型、元素或属性的默认和固定值。
WSDL:用于描述服务的方法、参数、参数个数、顺序、返回值、返回值的类型等
方法的相关信息。
下面这张图是我们项目中从客户端,直接按F12出现的界面,从中可以看出,方法和返回值都是来自于元数据,这也是我对元数据的最初认识。
【总结】
通过对WCF理论的研究,了解了abc各自是用来做什么的,有什么作用。对WCF介绍了解了我们的系统运用WCF的为什么使用和使用的必要性,主要是实现分布式。针对绑定方式和契约会在接下来的博客继续介绍,我们一起学习,期待我的更新吧!