(转)2.4.1 基础知识--添加服务引用与Web引用的区别

《Web服务开发学习实录》第2章构建ASP.NET Web服务,本章我们将学习创建Web服务的各种方法,并重点对使用Visual Studio创建ASP.NET Web服务和修改Web服务的属性进行介绍。本节为大家介绍基础知识--添加服务引用与Web引用的区别。

AD:

2.4.1  基础知识--添加服务引用与Web引用的区别

由于.NET Framework 4默认不再推荐Web服务,而是通过WCF来实现Web服务的功能。而.NET Framework 3.5两者都支持,因此在添加时存在一些差异。

在创建基于.NET Framework 4的项目或者网站时,右击项目或者网站名称,弹出的快捷菜单中只会出现【添加服务引用】命令,如图2-20所示。

选择该项将打开【添加服务引用】对话框,在这里的【地址】下拉列表框中可以输入WCF的地址,再单击【前往】按钮。如图2-21所示为添加一个WCF服务引用时的对话框效果。

 
图2-20  快捷菜单
 
图2-21  【添加服务引用】对话框

虽然,也可以通过Web服务的URL来添加服务引用。但是要注意,此方法不能保证Web服务的正常使用,因此不推荐使用。

不过,打开【添加Web引用】对话框并不复杂。在图2-21所示的对话框中单击【高级】按钮,然后从弹出的【服务引用设置】对话框中单击【添加Web引用】按钮即可,如图2-22所示。

 
图2-22  【服务引用设置】对话框

下面我们来了解一下添加服务引用与添加Web引用的区别。

(1) 添加服务引用使用的是WCF服务,而添加Web引用使用的是Web服务。

(2) Visual Studio 2010在升级以后为了支持.NET Framework 3.0或3.5版本上的WCF Service Library,增加了添加服务引用功能。而对于Web服务从.NET Framework 1.0开始就支持。

(3) 同时存在添加服务引用与添加Web引用两者情况的项目类型是Web服务程序,包括Web Service项目。普通的控制台和窗体等类型是没有添加Web引用的。

(4) 使用添加Web引用后将由wsdl.exe生成客户端代理。而使用添加服务引用后生成客户端代理的命令是svcutil.exe。

(5) 添加Web引用生成的代理可以被.NET Framework 1.0或者.NET Framework 2.0的客户端调用。而添加服务引用生成的代理只能被.NET Framework 3.0以上的客户端调用,而且添加服务引用后不仅生成代理类,在web.config中还会生成相应的标记。

(6) 添加Web引用生成的Reference.cs文件里包含一个服务代理类,它负责与Web服务通信。它继承一个SOAP类,使用SOAP协议,基于XML语言。此外还包含一些Web服务类里定义的方法,和与之相关的异步调用方法和事件。遵守.NET Web Service的主要规则。

(7) 添加服务引用生成的客户端文件Reference.cs也会反序列化一个本地代理类,这点和前者相似。不过除了服务类和其相关的一些别的类和契约接口外,还有服务请求和相应的信息。遵循WCF服务框架的规则。

技术文档 WCF与Web服务的关系

严格地说,Web服务是行业标准,它有一套规范体系标准,而且在持续不断的更新完善中,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术。

微软的Web服务实现称为ASP.NET Web Service,它使用Soap来实现分布式环境里应用程序之间的数据交互,用WSDL来实现服务接口相关的描述。

WCF(Windows Communication Foundation)是一个分布式应用的开发框架,属于特定的技术,或者平台。既不是标准,也不是规范。WCF在一定程度上就是ASP.NET Web Service,因为它支持Web Service的行业标准和核心协议。因此ASP.NET Web Service能做的事情,WCF几乎都能胜任,跨平台和语言更不是问题。

但是WCF作为微软主推的一个通信平台,它的目标不仅仅是支持和集成Web Service,因为它还兼容和具备了微软早期很多分布式技术的特性。在本书的第13章将详细讨论WCF。

(转)2.4.1 基础知识--添加服务引用与Web引用的区别

时间: 2024-08-08 00:05:57

(转)2.4.1 基础知识--添加服务引用与Web引用的区别的相关文章

VS添加服务引用和 Web引用的区别

参考: http://blog.csdn.net/szstephenzhou/article/details/7834669 http://book.2cto.com/201304/20441.html 1. 添加服务引用使用的是WCF服务,而添加Web引用使用的是Web服务. 2.同时存在添加服务引用与添加Web引用两者情况的项目类型是Web服务程序,包括Web Service项目.普通的控制台和窗体等类型是没有添加Web引用的. 下面是我自己的心得: 1.在VS2012中 窗体应用程序  只

android基础知识之服务

##01_start开启服务的生命周期(重点) * 服务的特点:         服务被创建时调用onCreate.onStartCommand:           服务只能被创建一次,可以开启多次onStartCommand:           服务只能被停止一次onDestroy:         没有onPause.onStop.onResume.onRestart方法,因为service没有界面,长期运行在后台. * 生命周期的方法:         onCreate:服务被创建的时

4.基础知识,“服务端监听端口”应用,实现功能

%a.启动一个监听端口 %b.客户端可以向服务端的这个接口发送数据 %c.服务端接受到数据,执行相应的操作,操作完成后把结果发回给客户端 %d.客戶端關閉連接,服務端清理數據 %server_manager.erl 模块,代码文件,放在网站:GitHub 1.启动后监听端口 2.客户端连接服务端 3.客户端发送的数据不同,服务端的对应操作也不同 4.服务端逻辑出现问题,客户端发送其他的数据导致服务端无法继续使用

Javascript入门基础知识和在HTML中的引用方式以及与JAVA之间的关系

JavaScript的基本语法: 一.执行顺序 JavaScript程序是按照出现在HTML文档中出现的顺序逐行执行的,如果需要在整个HTML文档中执行,最好将其放在HTML文件标签中.某些代码,如函数体内的代码,不会被立即执行,只有当所在函数被其他程序调用时,该代码才会被执行. 二.区分大小写 JavaScript是严格区分大小写的.例如str和Str这是两个完全不同的变量. 三.分号和空格 在JavaScript中,语句的":"是可有可无的,但大家最好每一句末尾都加上":

基础知识系列?各版本下IIS请求处理过程区别

转载地址→http://www.cnblogs.com/fsjohnhuang/articles/2332074.html ASP.NET是一个非常强大的构建Web应用的平台, 它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用. 绝大多数的人只熟悉高层的框架如: WebForms 和 WebServices --这些都在ASP.NET层次结构在最高层. 这篇文章的资料收集整理自各种微软公开的文档, 通过比较 IIS5.IIS6.IIS7 这三代 IIS 对请求的处理过程, 让我

Java基础知识强化18:抽象类、接口的区别 和 抽象类可以不实现接口的全部方法

抽象类和接口的区别 抽象类里面可以有非抽象的方法,接口里只能有抽象方法. 抽象类中的抽象方法声明时不能有大括号,而接口中的所有方法都没有大括号.  抽象类(abstract class): a.抽象类是仅供派生的类,无法实例化一个抽象类,只能实例化从它派生的类. b.抽象类的主要特征在于它包含抽象成员(abstract member),抽象成员是不具有实现的一个方法或属性,其作用是强制所有派生类提供实现. c.由于抽象成员应当是要被重写(override)的,因此这类成员会自动成为virtual

C#基础知识:virtual方法,abstract方法,区别

virtual 关键字用于修饰方法.属性.索引器或事件声明,并使它们可以在派生类中被重写.默认情况下,类中的方法是非虚的,非虚的方法不能在子类中被覆盖(override),但是可以隐藏(new),但这不影响父类方法的功能.为了达到子类以自己的方法实现某一功能的目的,需要在父类中用virtual关键字来修饰方法,这样,在其继承子类中就可以采用覆盖的方法来提供方法的多态机制.virtual关键字在类中修饰方法需要注意以下几点: 1. virtual修饰类中方法时,前面必须有public修饰符,非虚方

MATLAB基础知识——1.4矩阵元素的引用

矩阵元素的引用方式 (1)通过下标引用矩阵元素,下标必须为正整数,且用圆括号括起来. (2)通过序号来引用,在MATLAB中矩阵元素按列存储.序号与下标是一一对应的,以m*n的矩阵A为例,矩阵A(i,j)的序号就是(j-1)*m+i sub2ind函数:将矩阵中指定元素的行.列下标转换成存储的序号.调用格式为 D=sub2ind(S,I,J),S说明要转换的矩阵的行数和列数,通常有size函数获取:I是要转换元素的行下标,J是列下标,如果I和J是矩阵的话,表示要将矩阵中多个元素的行列下标进行转换

LoRaWAN与LoRa的基础知识简介 教你看懂两者的区别

在物联网技术快速发展的今天,NB-IoT.LoRa.SigFox等技术名词经常进入我们的视野中,对于刚刚接触物联网领域的人来说,在一大堆名词面前可能会混淆.面对类似于LoRa和LoRaWAN这样容易混淆的名词,其实只要系统梳理一下就可以发现其中的区别.今天我们就来看看LoRaWAN与LoRa两者的区别: 总体而言,LoRa仅包含链路层协议,并且非常适用于节点间的P2P通信:同时,LoRa模块也比LoRaWAN便宜一点: LoRaWAN也包含网络层,因此可以将信息发送到任何已连接到云平台的基站.只