WCF在实际开发过程中,其应用范围广泛,可以帮助我们轻松的实现许多领域的功能需求。不过在操作的过程中,我们同样需要注意一些细节问题以防止异常的出现。在这里我们就为大家介绍一种Silverlight调用WCF时出现错误的解决方法。
在采用Silverlight调用WCF的开发过程中,今天遇到一个错误。由于 Silverlight 中只支持异步方式的 WCF 调用,所以代码一般是这样子的:
- var myServiceClient = new MyServiceClient();
- myServiceClient.GetSomeDataCompleted += (sender, args) =>
- {
- HtmlPage.Window.Alert("completed.");
- };
- myServiceClient.GetSomeDataAsync();
这样写是没有问题的。#t#
但是有的朋友可能为了提高代码共用程度,而把 myServiceClient 这个 WCF 的客户端代理对象作为类的字段来定义,以便在多次调用中共享。比如这篇教程中所说的:
“这一步比较复杂,这里分小点讨论。为了调用WCF服务,先定义一下全局变量。AcademeServiceClient academeSClient;”
这样做有什么问题呢?
假设我们上面的代码是在一个按钮的点击事件处理函数里定义的,那么,就会导致每点击一次按钮就注册一次 GetSomeDataCompleted 的事件处理函数。***你会发现点一次按钮,会重复多次执行回调函数。
所以在Silverlight调用WCF中还是不要共用 client 代理了,每次调用之前创建一个比较好。因为今天遇到了这个错误,在这里提醒一下大家。
网站名称:Silverlight调用WCF出现异常解决方案
文章网址:http://www.shufengxianlan.com/qtweb/news28/378978.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联