网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

[Silverlight] 一个易犯的错误:关于调用 WCF 服务

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/13

  在采用 Silverlight 调用 WCF 的开发过程中,今天遇到一个错误。

  由于 Silverlight 中只支持异步方式的 WCF 调用,所以代码一般是这样子的:

var myServiceClient = new MyServiceClient(); 
myServiceClient.GetSomeDataCompleted += (sender, args) => 
{ 
   HtmlPage.Window.Alert("completed."); 
}; 
myServiceClient.GetSomeDataAsync();

  这样写是没有问题的。

  但是有的朋友可能为了提高代码共用程度,而把 myServiceClient 这个 WCF 的客户端代理对象作为类的字段来定义,以便在多次调用中共享。比如这篇教程中所说的:

  “这一步比较复杂,这里分小点讨论。为了调用 WCF服务,先定义一下全局变量。

  AcademeServiceClient academeSClient; ”

  这样做有什么问题呢?

  假设我们上面的代码是在一个按钮的点击事件处理函数里定义的,那么,就会导致每点击一次按钮就注册一次 GetSomeDataCompleted 的事件处理函数。最后你会发现点一次按钮,会重复多次执行回调函数。

  所以还是不要共用 client 代理了,每次调用之前创建一个比较好。

  因为今天遇到了这个错误,在这里提醒一下大家。

(责任编辑:admin)

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号