Silverlight调WebService封装客户代理类Proxy的问题,不能同步

poiuy1363 2010-04-06 10:03:45
常规的方法调用WebService是同步的,可以在客户端封装一个代理类Proxy,然后整个客户端项目都通过这个Proxy调用WebSercie,方便,容易管理。
但是Silverlight调用WebSercie是异步的,这个Proxy怎么封装,如果不封装,将会写很多重复代码,怎么处理?

通常这样写:
private ServiceReference1.WebService1SoapClient wssc = new SilverlightApplication1.ServiceReference1.WebService1SoapClient();
wssc.GetListCompleted += new EventHandler<SilverlightApplication1.ServiceReference1.GetListCompletedEventArgs>(wssc_GetListCompleted);
wssc.GetListAsync(k);

但如果每个页面都这样写,也太麻烦了。。。
大家的项目中是怎么做的?
...全文
181 6 打赏 收藏 转发到动态 举报
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
websco 2010-04-07
  • 打赏
  • 举报
回复
怎么可能用同步?最多是搞一个Wrapper,把异步调用的操作习惯封装为看起来像同步方法吧
  • 打赏
  • 举报
回复
1:创建一个页面基类,在页面基类中封装;
2:将异步方法转为同步;http://blog.csdn.net/luminji/archive/2010/02/02/5281944.aspx
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 poiuy1363 的回复:]
引用 1 楼 luminji 的回复:
1:创建一个页面基类,在页面基类中封装;
2:将异步方法转为同步;http://blog.csdn.net/luminji/archive/2010/02/02/5281944.aspx


1、在页面基类中封装可以,但每个页面要用调的WebService的方法不一样啊,统一不了啊。
[/Quote]

你说的是正确的,确实不可能统一全部的。
poiuy1363 2010-04-06
  • 打赏
  • 举报
回复
如果一定要把异步改为同步,是不是违背的微软的意愿?
我想知道大家的项目中是如何解决的?
poiuy1363 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luminji 的回复:]
1:创建一个页面基类,在页面基类中封装;
2:将异步方法转为同步;http://blog.csdn.net/luminji/archive/2010/02/02/5281944.aspx
[/Quote]

1、在页面基类中封装可以,但每个页面要用调的WebService的方法不一样啊,统一不了啊。
sky-defender 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luminji 的回复:]
1:创建一个页面基类,在页面基类中封装;
2:将异步方法转为同步;http://blog.csdn.net/luminji/archive/2010/02/02/5281944.aspx
[/Quote]

好多,记下慢慢看
相关推荐
课程介绍本套课程,大喵将带着大家手把手,编辑每一行代码,使用原生Javascipt及ES6的一些新特性,仿照目前国内非常流行的Vue框架的源码,开发构建一个属于你们自己的MVVM框架。让大家能够很清晰的学习及掌握,模板编译,数据绑定,响应式,文档碎片,观察者模式,发布订阅模式等等,这些Vue的核心知识点,都是怎么回事,它们之间有哪些关联,是如何进行双向数据绑定的等等。在使用vue2.x的核心Object.defineProperty构建完成框架后,大喵也会使用Vue3.0引入的数据劫持的Proxy新特性,来改造我们的MVVM框架,提升我们的框架性能。最终,大喵会手把手带着大家,从0开始配置webpack.config.js配置文件以及引入babel-loader,配置.babelrc文件,转换我们JS文件中的的ES6语法,最终压缩输出我们的MVVM框架库文件。课程目录01 手把手搭建MVVM框架 课程介绍、02 文件结构及基础创建、03 入口DamiaoMvvm的实现、04 模板编译、05 元素节点解析编译、06 v-model 数据绑定逻辑梳理、07 v-model 数据绑定实现、08 模板文本编译逻辑梳理、09 模板文本渲染绑定、10 观察者Wather逻辑梳理、11 Wather 逻辑实现、12 Object.defineProperty()、13 defineProperty 小案例、14 observer数据劫持梳理、15 defineProperty数据劫持实现、16 发布订阅实现、17 Proxy 介绍与概述、18 使用Proxy改造MVVM框架、19 使用Proxy实现响应式、20 webpack 打包配置、21 babel 配置及文件输出、22 Mvvm Proxy 框架打包、23 Mvvm 框架搭建课程总结MVVM框架介绍MVVM是 Model-View-ViewModel 的缩写。mvvm是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。在MVVM架构模式下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。

8,705

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告