web引用和服务引用
在VS2010环境下开发C#的winform程序或者WPF时,会碰到调用web引用的问题。
1.添加一个服务引用时,会在app.config里生成basicHttpBinding和customBinding两个节点,在这两个节点力又会分别生成这个服务引用的binding,如图
当然相应的在client节点里,针对每一个服务引用都会生成两个endpoint
这样就会导致调用时提示
错误::无法加载协定为“ServiceReference1.INetbankUpdateService”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。
解决办法,就是把client里的两个endpoint,删掉一个就可以了。
注意:事实上这里的服务引用特指的是WCF服务,但是为了兼容webservice,所以也可以把web引用作为服务引用添加。只不过调用时服务器后面加了“soap”字样。
2.添加一个web引用,也就是Webservice。这个就很简单了,添加后直接调用就行。
3.WEB引用和服务引用的用法区别
添加web引用是.net2.0或1.0中的内容。添加服务引用时.net3.0及以上版本才具有的功能。在3.0里,web引用可以作为服务引用来添加。当然在添加服务引用的时候,也可以进入高级配置,添加web引用。