为什么窗体中可以引用WCF服务,自定义控件中却不行?

问题现象:
在窗体中,通过VS的添加服务引用后,代码可以正常编译,运行,使用。在创建自定义用户控件的时候可以编译生成,但是把他拖到窗体上就会出现这个错误,提示:“创建XX组件失败,错误消息为,在ServiceModel客户配置部分中,找不到引用的协定aaservice的默认终结点元素。这可能是因为未找到应用程序中的配置文件,或者客户端元素中找不到与此协议匹配的德终结点元素”。


解决方案:

if (!DesignMode)

//有调用WCF服务的方法

----------------------------------------------------------------------------------------------

参考:
   是因为你的配置信息存在于配置文件里,而其他地方队此控件的引用,没有导入对应的配置信息或者说配置文件里没有需要的配置信息,所以导致不能使用服务。可行的解决办法2个:
1.在使用你自定义控件的程序里的配置文件里把以前的客户端添加服务引用的信息导入到你需要使用此控件的项目里。这样使用此服务的程序里的对应的WCF 服务调用才能找到正确的配置信息。
2.使用编程方式,把客户端添加服务引用的配置信息,编写代码,来设置这些信息,这样的话就不需要在因为找不到配置文件里的信息而出错。
   方式2比较适合你的情况,客户端调用服务,在客户端配置文件里比较重要的就是服务的终结点地址,还有一些超时、消息模式等信息,你注意一下。配置文件能搞定的事情,代码都可以搞定。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值