c# WebReference与ServiceReference 小结

原创 2017年01月03日 23:38:53
之前一直没弄清楚在c#中添加服务引用时 WebReference与ServiceReference,今天抽空总结了一下,大部分来源于网络,如有错误请大家指出,如有不全欢迎大家补充。

先谈谈他们的区别:

区别一:

  • WebReference是由wsdl.exe生成客户端代理的。生成webservice代理类的方法,即从System.Web.Services.Protocols.SoapHttpClientProtocol派生而来,代理类代码可以指定要访问的Url属性。
  • ServiceReference是由svcutil.exe生成客户端代理的。按照新的webservice客户访问机制WCF(不是直接从System.Web.Services.Protocols.SoapHttpClientProtocol派生而来)。代理类代码没有Url属性可指定,而是在客户端的配置文件app.config中指定endpoint来访问指定的url。

区别二:

  • WebReference生成的代理可以被.net1.1或.net2.0的客户端调用。
  • ServiceReference生成的代理只能被.net3.0+的客户端调用,而且ServiceReference后不仅生成代理类,在web.config中还会生成相应的Tag。(注:这里Tag显著表现为)

区别三:

  • WebReference的方式不能使用Wcf。(wcf需.net3.0的支持)
  • ServiceReference可以使用wcf。(需.net3.0+的客户端)

再谈谈使用时注意事项:

  • 静态添加WebReference: 右击项目–》添加服务引用–》高级–》添加Web引用–》URL输入地址–》前往–》确定
  • 静态添加ServiceReference: 右击项目–》添加服务引用–》地址–》转到–》确定
  • 注意:上面的方法是在非启动项项目(比如某个类库)中添加的,在该项目下会自动生成一个app.config文件,而在主配置文件.config中并没有自动添加上该webservice的标记,这样运行会出现错误,说找不到配置信息等等……所有还需要把app.config中的<system.serviceModel>……</system.serviceModel>这段配置添加到主配置文件的.config的<configuration>……</configuration>标记中,这样运行就不会出问题了。如果以后服务地址发生了变化,也只需要修改主配置文件config中的地址就行了。
  • 下一节我要总结下动态添加的方法。

相关文章推荐

Web Reference和Service Reference的区别

今天因为项目需要使用服务引用,就按之前的经验添加上了,步骤如下: 项目根目录——引用——右键——添加服务引用——高级——添加Web引用——输入接口的URL地址——回车(下方出现的就是接口的定义的方法...

c# Add Web Reference和Add Service Reference添加webservice的区别之一

1 Add Web Reference     根据wsdl文件,按照老的asp.net webservice客户访问机制,生成webservice代理类的方法,即从System.Web.Servi...

C#不同方式调用webservice

继上一篇不添加引用调用webservice这次我们谈谈添加引用调用webservice的几种方式。 首先我们可以看到添加webservice引用有2种,如图: 一种叫service Referen...

C#调用WebService服务(动态调用)

1 创建WebService using System; using System.Web.Services; namespace WebService1 { /// ///...

添加web引用和添加服务引用有什么区别?

添加web引用和添加服务引用有什么区别, Add Service References 和 Add Web References 有啥区别? 参考 http://social.microsof...

Add Service References 和 Add Web References的区别

Add Service References 和 Add Web References的区别 在项目过程中,需要添加Web服务引用,发现两种用法。搜索了一下相关信息,才知道: VS2...

WebService 四种发布方式总结

WebService 四种发布方式总结 1. CXF方式 CXF与spring搭建webservice是目前最流行的方式,但是传闻cxf与jdk1.5有些不兼容,我没有遇到过,我遇到的问题...

在C#工程中设置Reference的相对路径

要在C#工程中根据不同的项目配置使用不同的 reference,而该 reference 路径是相对路径,这时我们可以修改 csproj 项目文件,在其中添加 reference 路径,如下示例: ...
  • educast
  • educast
  • 2012年05月22日 09:06
  • 3944

C# 基础知识[小结及例子].rar

  • 2009年10月10日 10:06
  • 3.29MB
  • 下载

C#与java相似点和差异小结.doc

  • 2010年08月27日 16:02
  • 45KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c# WebReference与ServiceReference 小结
举报原因:
原因补充:

(最多只允许输入30个字)