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);

但如果每个页面都这样写,也太麻烦了。。。
大家的项目中是怎么做的?
...全文
186 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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]

好多,记下慢慢看

8,744

社区成员

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

试试用AI创作助手写篇文章吧