在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引用。