WCF入门需要掌握的基础知识

1 XML

因为以及有太多的先人指点, 关于XML的文章也是无数, 需要掌握XML的基本的一些概念: 可以访问 http://www.w3school.com.cn/

这里就简单的说明一下关于XML的一些基础的概念。

【XML(Extensible Markup Language,可扩展的标记语言)】

是一套用文本来定义语义标记的元标记语言,具有与平台无关、可灵活的定义数据和结构信息、便于网络传递等优势。

XML特点 XML是文本编码,因此不受所选用的操作系统、对象模型和编程语言的影响,可在任何网络中正常传输。

XML中的所有标记都是自定义的,通过这些自定义的标记,可描述某种数据的不同部

分及其嵌套的层次结构。XML规定所有标记都必须有开始和结束标志。

引用W3C的一个简单的示例, 可以简单的了解XML的基础结构(如下图)

2 Web Service

Web Service也叫Web服务,根据数据交换格式的不同,Web Service又进一步分为XML Web Service和JSON Web Service等。
XML Web Service是一种以XML作为数据交换格式。以JSON作为数据交换格式的Web服务称为JSON Web Service。

在Web Service的服务体系结构, 是由3个组成部分, 分别是:

  • 1. 服务提供者
  • 2. 服务请求者
  • 3. 服务注册中心

利用发布、发现、绑定的三个基本操作组成。

客户端与Web服务如何通信

1.客户端调用的web服务, 主要的过程:

  • (1) 客户端创建web服务的代理类的实例。
  • (2)通过调用代理类的具体的实现方法。
  • (3)客户端程序将服务所需要的参数序列化为SOAP消息, 然后通过网络发送到web服务器中。
  • (4)web服务器接受到SOAP消息 , 此时, 将消息反序列为XML格式, 同时创建web服务的实例, 调用Web服务提供的具体方法,将反序列化的XML作为参数传递到方法中。
  • (5)执行web服务提供的具体方法, 得到相应的返回值和一些消息参数。
  • (6)web服务器将返回值和一些消息参数序列化为SOAP消息, 然后通过网络返回到客户端的程序中。
  • (7)客户端接受到web服务器返回的SOAP消息, 将XML 反序列为返回值和消息参数, 传输到代理类的实例里。
  • (8)客户端应用接受到返回值和消息参数。

2.客户端程序与Web服务通信过程

下面的图 让大家秒懂 "挖布涩维斯" 与 客户机应用程序 的通信过程 。

3 远程处理RPC

RPC(Remote Procedure Call) —— 远程过程调用。

远程处理技术是为了解决不同计算机上的进程相互访问的一种具体实现。

.NET远程处理模型生成一个应用程序,并让其中两个组件直接跨应用程序域边界进行通信。此时需要生成以下内容:

  • > 一个可远程处理的对象。
  • >一个宿主应用程序域,用于侦听针对该对象的请求。
  • > 一个客户端应用程序域,用于发出针对该对象的请求。

神奇的的跳转链接 : 关于RPC的更详细的说明 ,https://www.jb51.net/article/235701.htm

4 消息队列(MSMQ)

MQ(Message Queue)是在多个不同的应用程序之间实现相互通信的一种基于队列和事务处理的异步传输模式。

其实现原理是:

消息发送者把要发送的信息放入一个容器中(称为Message),
然后把它保存至一个系统公用的消息队列(Message Queue)中;
本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。MSMQ是微软实现的MQ。

引文 :https://www.jb51.net/article/235688.htm

5 面向服务的体系结构(SOA)

SOA(Service-Oriented Architecture,面向服务的体系结构)。

其基本思想就是希望用一种统一的、以"服务"为中心的模型来整合各种不同的技术,而不是仅仅限于Web服务。

对于.NET开发人员来说,这个基于SOA的具体实现就是WCF, 而关于整篇所讲的内容, 都是对于我们了解及使用

WCF有铺垫性的作用。

以上所述是小编给大家介绍的WCF入门需要掌握的基础知识,希望对大家有所帮助。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • C# 一个WCF简单实例

    WCF实例(带步骤) 复制代码 代码如下: <xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 本篇转自百度文档,自己试过,确实可以用. 以订票为例简单应用wcf 新建一个wcf服务应用程序 在IService1.cs定义服务契约 复制代码 代码如下: namespace WcfDemo { // 注意: 如果更改此处的接口名称 "IService

  • C#创建WCF服务控制台应用程序详解

    一.开发环境 操作系统:Windows 10 开发环境:VS2015 编程语言:C# IIS版本:10.0.0.0 二.添加WCF服务.Internet Information Services(IIS) 1.进入"控制面板",打开"程序和功能",点击左上角的"启用或关闭Windows功能"后,在".NET Framework 4.6 高级服务"中的子节点选中"WCF 服务",如下图所示: 2.再找到&qu

  • 详解JAVA调用WCF服务的示例代码

    这一篇将要解决java中调用WCF的问题,使用的依旧是上一篇中托管在IIS中的WCF服务,本来我是打算用axis来写这篇文章的,可就在我开始之前,无意中发现了在java包中自带的wsimport工具,用起来是极为爽快,而且也节省了配置axis的时间.所以,就它吧 其实在有了wsimport,在java调用wcf的时候是极为简单的,当然这是建立在使用不太复杂的服务的情况下,如果还要考虑安全验证.发布订阅等问题,还是相对复杂的,但是这三篇文章没准备写那么多,只是想能把跨平台这三个字真的应用在实践中

  • 利用WCF双工模式实现即时通讯

    概述  WCF陆陆续续也用过多次,但每次都是浅尝辄止,以将够解决问题为王道,这几天稍闲,特寻了些资料看,昨晚尝试使用WCF的双工模式实现了一个简单的即时通讯程序,通过服务端转发实现客户端之间的通讯.这只是个Demo,没有考虑异常处理和性能问题.解决方案结构如下: 契约 using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel; using System.Text; us

  • 关于.NET/C#/WCF/WPF 打造IP网络智能视频监控系统的介绍

    OptimalVision网络视频监控系统 OptimalVision(OV)网络视频监控系统(Video Surveillance System),是一套基于.NET.C#.WCF.WPF等技术构建的IP网络视频监控系统.设计与实现该系统的初衷是希望在家用电脑中部署该系统,连接本地或局域网设备,通过浏览器或手机客户端浏览宝宝实时视频,也就是俗称的"宝宝在线"或"家庭看护". 但由于业余时间总是有限,完成系统中的服务.配置.采集.传输和桌面GUI部分后,继续完成后续

  • WCF实现进程间管道通信Demo分享

    一.代码结构: 二.数据实体类: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace DataStruct { /// <summary> /// 测试数据实体类 /// </summary> [DataContr

  • 区分WCF与WebService的异同、优势

    首先对WCF与WebService的定义进行概括,接着介绍了WCF的优势,最后就是对WCF与WebService两者的根本区别进行比较,具体内容如下 一.定义 1.WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互.WSDL来实现服务接口相关的描述.此外Web services 可以注册到UDDI中心

  • .net WCF简单实例详解(5)

    本文为大家分享了.net WCF简单实例,供大家参考,具体内容如下 1.创建WCF项目 2.系统自动生成IWcfService // 注意: 使用"重构"菜单上的"重命名"命令,可以同时更改代码和配置文件中的接口名"IService1". [ServiceContract] public interface IWcfService { [OperationContract] string GetData(int value); [Operatio

  • WCF入门需要掌握的基础知识

    1 XML 因为以及有太多的先人指点, 关于XML的文章也是无数, 需要掌握XML的基本的一些概念: 可以访问 http://www.w3school.com.cn/ 这里就简单的说明一下关于XML的一些基础的概念. [XML(Extensible Markup Language,可扩展的标记语言)] 是一套用文本来定义语义标记的元标记语言,具有与平台无关.可灵活的定义数据和结构信息.便于网络传递等优势. XML特点 XML是文本编码,因此不受所选用的操作系统.对象模型和编程语言的影响,可在任何

  • JavaScript入门教程(2) JS基础知识

    在什么地方插入 JavaScript JavaScript 可以出现在 HTML 的任意地方.使用标记<script>-</script>,你可以在 HTML 文档的任意地方插入 JavaScript,甚至在<HTML>之前插入也不成问题.不过如果要在声明框架的网页(框架网页)中插入,就一定要在<frameset>之前插入,否则不会运行.基本格式 复制代码 代码如下: <script> <!-- ... (JavaScript代码) ...

  • ASP基础入门第二篇(ASP基础知识)

    本篇将继续介绍一些用 ASP 编写的WEB 动态功能.由于 WEB 浏览器标准的不一致从而使得如何能够让自己制作的网站去适应各种不同的浏览器成为了广大网站设计者最为头疼的事,在如今的形势之下,我们不肯也不可能去抛弃Netscape 或 IE 中的任何一种客户群,但我们有时候又不得不去考虑客户端浏览器的实际浏览效果,过去我们常用JavaScript 编写一段程序来辨别客户端使用的不同的浏览器,那么今天就让我们来看看如何使用ASP 更为便捷且精确地达到这一目的.将以下代码,剪贴到你的Notebook

  • AngularJS实用基础知识_入门必备篇(推荐)

    前言 今天来和大家学习一下AngularJS-- AngularJS 通过新的属性和表达式扩展了 HTML. AngularJS 可以构建一个单一页面应用程序. AngularJS 学习起来非常简单. 一.AngularJS指令与表达式 [AngularJS常用指令] 1.ng-app:声明Angular所管辖的区域,一般写在body或HTML上,原则上一个页面只有一个. 2.ng-model:把元素值(比如输入域的值)绑定到应用程序的变量中. eg:<input type="text&q

  • Vue 2.0入门基础知识之内部指令详解

    1.Vue.js介绍 当前前端三大主流框架:Angular.React.Vue.React前段时间由于许可证风波,使得Vue的热度蹭蹭地上升.另外,Vue友好的API文档更是一大特色.Vue.js是一个非常轻量级的工具,与其说是一个MVVM框架,不如说是一个js库.Vue.js具有响应式编程和组件化的特点.响应式编程,即保持状态和视图的同步,状态也可以说是数据吧:而其组件化的理念与React则一样,即"一切都是组件,组件化思想方便于模块化的开发,是前端领域的一大趋势. 2.内部指令 2-1.v-

  • EJB基础知识(入门必看)

    什么是EJB 可移植的,可重用的,可伸缩的业务应用程序的平台 为什么选择EJB 1. 易用性, 由EJB容器提供许多的服务, 开发人员只需要关注业务本身即可 2. 集成解决方案套装, 由应用服务器提供大量服务 3. 开放的JavaEE标准 4. 广泛的厂商支持 5. 稳定, 高质量的代码基础 6. 集群, 负载均衡, 故障转移 7. 易于开发允许可重用的组件 EJB容器提供的服务 1. 集成 2. 池化 3. 线程安全 4. 状态管理(针对有状态会话bean) 5. 消息服务器(针对消息驱动be

  • ThinkPHP3.1基础知识快速入门

    在当今众多的MVC框架中,ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,其遵循Apache2开源协议发布,自从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验及易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有力的支持.是众多PHP开发人员的首选.本文就ThinkPHP3.1基础知识做一简述. 1.目录结构 ThinkPHP最新版本可以在官方网站(http://thinkphp.cn/down/framewor

  • Java 网络爬虫基础知识入门解析

    前言 说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少.有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬虫而且还能做的非常好,在开源社区中有不少优秀的 Java 网络爬虫框架,例如 webmagic .我的第一份正式工作就是使用 webmagic 编写数据采集程序,当时参与了一个舆情分析系统的开发,这里面涉及到了大量网站的新闻采集,我们就使用了 webmagic 进行采集程序的编写,由于当时不知

  • C语言入门之基础知识详解

    一.思维导图 内容不限于此思维导图 二.环境搭建 对于老手,自动跳过这一趴吧,或者也可以看一下我有没有啥纰漏,毕竟小白需要这一趴. 编译器很多,大部分老师会在学生学习C语言的时候推荐使用VC,不带语言提示器的那种,说是可以提高学生的编码能力.我也不知道到底是不是这么一回事儿.我推荐使用VS,这样学的快,函数记不住的问题很严重吗?项目的车轮碾压过去,再记不住也得记住吧!!! 更何况这个系列到后面是会有需要用文本文件编程写项目的阶段. 下载VS2019社区版,不要标新立异选那些最新版的,出了问题到时

  • smarty模板引擎基础知识入门

    本文实例讲述了smarty模板引擎基础知识.分享给大家供大家参考.具体如下: 一.基本概念 1.什么是mvc? mvc是一种开发模式,核心思想是:数据的输入.数据的处理.数据显示的强制分离. 2.什么是smarty? smarty是一个php的模板引擎.更明确的来说,它可以帮助开发者更好的分离程序逻辑和页面显示. 3.smarty运行原理 模板文件,就是一个显示数据的模板,其中需要显示的数据用占位符代替. smarty运行时,会读取模板文件,将模板文件中的占位符替换成真正的数据,并输出一个处理后

随机推荐