在WPF中使用WebService可能碰到的问题及解决方案
Web Service 是一个好东西,可以免费的直接调用来完成很多你本地无法完成的任务,轻松加愉快!
准备在程序中使用一下天气预报的Web Service 结果运行时碰到了一下两个异常。
1. 在 ServiceModel 客户端配置部分中,找不到引用协定“WeatherService.WeatherWebServiceSoap”的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素。
2. 无法加载协定为“WeatherService.WeatherWebServiceSoap”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。
这里涉及到的问题貌似很多人在WCF中也遇到过,解决方案应该比较类似(我猜的哦)。这些问题的根源都是在App.config中配置不对。这两个问题的解决方案:
1. 在引用Web Service服务的时候,如果在启动程序里没有引用服务,这就会在程序执行的时候找不到配置文件。因为我调用Web Service的地方并不是主程序所在的那个Project,所以在执行的时候会发生这个异常。解决方案很简单,就是在当前project中的App.config下面
<system.serviceModel>……</system.serviceModel>
粘贴到主程序所在project下面的App.config中即可。
2. 这个原因大多数是在配置文件中出现了多余的endpoint,只要编辑配置文件,找到多余的终结点并且删除即可。