首页 > 程序开发 > 软件开发 > C# > 正文
c# WebReference与ServiceReference 小结
2017-01-05 09:19:00       个评论    来源:及时当勉励,岁月不待人。  
收藏    我要投稿

之前一直没弄清楚在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中的……这段配置添加到主配置文件的.config的<configuration>……标记中,这样运行就不会出问题了。如果以后服务地址发生了变化,也只需要修改主配置文件config中的地址就行了。 下一节我要总结下动态添加的方法。
点击复制链接 与好友分享!回本站首页
相关TAG标签 c 小结
上一篇:C# @符合的作用
下一篇:Sonar Jenkins使用问题
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站