添加web引用和添加服务引用有什么区别?
添加web引用和添加服务引用有什么区别,
Add Service References 和 Add Web References 有啥区别?
参考
http://social.microsoft.com/Forums/zh-CN/xmlwebserviceszhchs/thread/808d870b-49f1-47ac-b105-4beb580bcec6
(1)VS2005里提供的Add Web Reference(添加Web服务引用)的功能主要是添加Web Service引用。
(2)VS2008保留了Add Web Reference(添加Web服务引用)也是为了版本向前兼容。目前很多项目还是基于.NET Framework 2.0。
(3)VS2008在升级以后为了对.NET Framework 3.0 或 3.5版本上WCF Service Library的支持。增加了Add Service Reference(添加服务引用)功能。Framework3.0 或 3.5 时可用。
你说的情况我自己做了一下试验,同时存在Add Service Reference、Add Web Reference 两者情况的项目类型是Web服务程序。包括Web Service项目。普通的控制台等类型是没有Add Web Reference 。
我仔细对比了两种方式添加同一个 WebService生成的客户端文件 Reference.cs, 有差别。
1.主要添加引用都有一个获取服务元数据,反序列话本地类文件的过程。这个结构也基本类似。都包含wsdl\discovery等文件。
这个也和WCF Service支持Web Service的核心行业标准有关系。毕竟WCF的特性之一就是兼容Web Service的特性。
2.不同的地方时Add Web Reference 生成的 Reference.cs文件里,包含一个服务代理类,他负责与Web服务通信,它继承一个Soap类,使用SOAP协议,SOAP简单对象访问协议,基于XML语言。此外还包含一些Web服务类里定义的方法,和与之相关的异步调用方法和事件。遵守.NET Web Service 的主要规则。
3.Add Service Reference生成的客户端文件 Reference.cs。我看了一下,这个也会反序列化一个本地代理类,很相似和前者。不过除了服务类和其相关的一些别的类和契约接口。其中比较重要就是一个契约和一个通信管道。这个主要和WCF框架
的编程模型和反序列话机制有关系。因为WCF 强调的是 契约的概念,还有就是绑定协议,这个就直接决定了客户端和服务端通信的通道类型。你在这个文件里也能看到。此外还有服务请求和相应对应的信息。遵循WCF服务框架的规则。
——————————————————————————–
同时存在Add Service Reference、Add Web Reference 两者情况的项目类型是Web服务程序。包括Web Service项目。普通的控制台等类型是没有Add Web Reference 。
都是可以Add Web Reference的诶,控制台类型项目在Add Service Reference窗口有个Advanced按钮,其中仍然可以选择Add Web Reference。我觉得是微软建议使用Add Service Reference,但保留了Add Web Reference以保持兼容性。
我测试了使用Add Web Reference这种方式,可以添加WCF服务
http://blog.csdn.net/szstephenzhou/article/details/7834669
添加web引用和添加服务引用有什么区别?的更多相关文章
- C# Web Service 不使用服务引用直接调用方法(转)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011508145/article/details/79496214 using ...
- web引用和服务引用
原文:web引用和服务引用 在VS2010环境下开发C#的winform程序或者WPF时,会碰到调用web引用的问题. 1.添加一个服务引用时,会在app.config里生成basicHttpBind ...
- Dubbo 源码分析 - 服务引用
1. 简介 在上一篇文章中,我详细的分析了服务导出的原理.本篇文章我们趁热打铁,继续分析服务引用的原理.在 Dubbo 中,我们可以通过两种方式引用远程服务.第一种是使用服务直联的方式引用服务,第二种 ...
- 【Asp.net入门04】第一个ASP.NET 应用程序-如何添加Web窗体到网站中
添加Web窗体 本部分内容: 什么是web form 怎样添加web form 1.添加Web窗体到项目中 Web 窗体是一项 ASP.NET 功能,您可以使用它为 Web 应用程序创建用户界面.We ...
- Dubbo源码(四) - 服务引用(消费者)
前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 上一篇文章,讲了Dubbo的服务导出: Dubbo源码(三) - 服务导出(生产者) 本文,咱们 ...
- (转)添加服务引用和添加Web引用对比
在WindowsForm程序中添加服务引用和Web引用对比 为了验证书上有关Visual Studio 2010添加服务引用和Web引用的区别,进行实验. 一.建立一个Web服务程序项目新建项目,选择 ...
- (转)2.4.1 基础知识--添加服务引用与Web引用的区别
<Web服务开发学习实录>第2章构建ASP.NET Web服务,本章我们将学习创建Web服务的各种方法,并重点对使用Visual Studio创建ASP.NET Web服务和修改Web服务 ...
- 关于WCF的引用,添加服务和添加web服务的区别
原文:关于WCF的引用,添加服务和添加web服务的区别 本章内容主要是根据我做的实验来阐述这2种添加服务针对WCF的不同之处,我们按照示例一步一步来看. 如下是工程的结构: 该WCF服务是通过控制台程 ...
- 添加服务引用和添加Web引用对比
原文:添加服务引用和添加Web引用对比 在WindowsForm程序中添加服务引用和Web引用对比 为了验证书上有关Visual Studio 2010添加服务引用和Web引用的区别,进行实验. 一. ...
随机推荐
- 【原】自定义UIPageControl的圆点
在下面的两种情况下会导致圆点贴图刷新: 1.用户调用setCurrentPage:(NSInteger)currentPage时 所以重载这个函数便可拦截 2.点击圆点矩形区域时 这说明,我们 ...
- 带删除的EditText
在安卓开发中EditText是比较常用的控件之一,那我们平常看到EditText填写了内容之后右边会出现一个删除的按钮,这样可以方便用户对其中文本清空操作,是非常人性化的,我们可以重写EditText ...
- 转载:sql关联查询
inner join(等值连接)只返回两个表中联结字段相等的行 left join(左联接)返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接)返回包括右表中的所有记录和 ...
- Linux线程学习(二)
线程基础 进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段.代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换 线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, ...
- Dev Grid拖拽移动行
效果图 源码下载 拖拽时带行截图效果实现代码 /// <summary> /// 拖拽帮助类 /// </summary> public static class DragHe ...
- XML学习总结(一)——XML介绍
一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范. 二.学习XM ...
- A Popup Progress Window
一个包含bar和取消而且不需要资源弹出窗口 1.构造函数 CProgressWnd(); CProgressWnd(CWnd* pParent, LPCTSTR strTitle, BOOL bSmo ...
- 一个关于group by和having子句的小例子
表结构: 要求: 查询有多个员工的工资不低于2000的部门编号(就是说如果一个部门的员工大于2000的人数有两个或两个以上就查询出来) sql语句: select [DEPARTMENT_ID],co ...
- 有用的MySQL语句
摘自onefish资料库 1. 计算年数你想通过生日来计算这个人有几岁了. SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofb ...
- linux64位android项目R文件无法生成以及Cannot run program adb
1.本机kali2.0 64位,kali基于Debian. 2.android adb是32位,64位linux要安装32位依赖库,注意ia32-lib被lib32z1替代. 3.执行命令 sudo ...