(一)WCF基础
我们近期在做项目的时候用到了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的为什么使用和使用的必要性,主要是实现分布式。针对绑定方式和契约会在接下来的博客继续介绍,我们一起学习,期待我的更新吧!
(一)WCF基础的更多相关文章
- WCF基础教程之异常处理:你的Try..Catch语句真的能捕获到异常吗?
在上一篇WCF基础教程之开篇:创建.测试和调用WCF博客中,我们简单的介绍了如何创建一个WCF服务并调用这个服务.其实,上一篇博客主要是为了今天这篇博客做铺垫,考虑到网上大多数WCF教程都是从基础讲起 ...
- WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构
原文:WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构 细算起来,已经有好几个月没有真正的写过文章了.近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析>的写作,一直 ...
- WCF 基础框架
WCF 基础框架: 1,契约:契约书一语个服务公共接口的一部分,一个服务的契约定义了服务端公开的方法,使用的传递协议,可访问的地址,传输的消息格式等内容,主要包括数据契约,消息契约,服务契约等. 2, ...
- WCF服务编程 读书笔记——第1章 WCF基础(2)
续:第1章 WCF基础(1) 元数据交换 服务有两种方案可以发布自己的元数据.一种是基于HTTP-GET协议提供元数据, 另一种则是后面将要讨论的使用专门的终结点的方式.WCF能够为服务自动提供基于H ...
- WCF服务编程 读书笔记——第1章 WCF基础(1)
第1章 WCF基础 本章主要介绍WCF的基本概念.构建模块以及WCF体系架构,以指导读者构建一个简单的WCF服务.从本章的内容中,我们可以了解到WCF的基本术语,包括地址(Address).绑定(Bi ...
- WCF基础
初入职场,开始接触C#,开始接触WCF,那么从头开始学习吧,边学边补充. SOA Service-Oriented Architecture,面向服务架构,粗粒度.开放式.松耦合的服务结构,将应用程序 ...
- WCF基础教程之开篇:创建、测试和调用WCF
一转眼,又半个月没有更新博客了.说实话,最近确实是有点忙.不过即使再忙忙,也要抽空来学习一些东西.最近用WCF比较多,就来跟大家分享一下关于WCF的知识吧!为了让大家都能看懂,照顾一些没有学过WCF的 ...
- WCF基础知识
根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架.它使得开发者能够建立一个跨平台的安全.可信赖.事务性 ...
- WCF入门教程:WCF基础知识问与答(转)
学习WCF已有近两年的时间,其间又翻译了Juval的大作<Programming WCF Services>,我仍然觉得WCF还有更多的内容值得探索与挖掘.学得越多,反而越发觉得自己所知太 ...
- WCF基础教程——vs2013创建wcf应用程序
引言 近期在项目中见到了师哥们常常谈到的WCF这方面的知识.当时在写程序的时候也没有理解wcf究竟是个什么东西? 以及我们为什么在项目中会採用这种框架来实现,仅仅是依照师哥他们写好的代码编写同样格 ...
随机推荐
- windows 安装node.js
安装node.js 这里我们是直接下载的编译后的zip包 地址:https://nodejs.org/en/download/ 点击下载相应的zip版本 这里我把zip包最里面一层的东西,所有内容放在 ...
- 使用Xshell采用证书登录Linux
1,工具--- 用户key生成向导,选择秘钥类型,注意DSA只能选择1024位级以下,超过1024位的服务器不认. 2 给公钥取一个名字,并设置密码,保存为文件 3 在linux 用户目录,用cd ...
- spring boot 初始
前言 与时俱进是每一个程序员都应该有的意识,当一个Java程序员在当代步遍布的时候,你就行该想到我能多学点什么.可观的是后端的框架是稳定的,它们能够维持更久的时间在应用中,而不用担心技术的更新换代.但 ...
- python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)
12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...
- Python-15-面向对象
一.什么是面向对象 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 优点:解 ...
- logrus 剖析之滚动日志
在实际开发过程中,为了节省磁盘,日志需要按照时间或者大小维度进行切割分成多分,归档过期的日志,删除久远的日志.这个就是在日常开发中经常遇见的日志滚动(log rotation) 那么在 logrus ...
- Markdown新手入门
目录 Markdown新手入门 一.字体样式 二. 标题 三.列表 四.引用和代码块 五.插入图片和超链接 六.创建表格 七. 上标和下标 八.着重显示和高亮显示 我是尾巴 Markdown新手入门 ...
- TweenMax参数用法中文介绍
TweenMax 建立在 TweenLite 和 TweenFilterLite 基础之上,因此,又揉合了这二者的功能,使得功能更加的齐备,但是如果说易用性,觉得还是 TweenLite 来得方便一些 ...
- 【转载】关于SimpleDateFormat安全的时间格式化线程安全问题
想必大家对SimpleDateFormat并不陌生.SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调 ...
- python day 9: xlm模块,configparser模块,shutil模块,subprocess模块,logging模块,迭代器与生成器,反射
目录 python day 9 1. xml模块 1.1 初识xml 1.2 遍历xml文档的指定节点 1.3 通过python手工创建xml文档 1.4 创建节点的两种方式 1.5 总结 2. co ...