在silverlight 2 (beta1) 中使用BackgroundWorker

文/代震军  出处/博客园

    在silverlight 2(Beta1) 中使用BackgroundWorker非常简单,下面是一个DEMO,用于执行从1
累加到100.在累加过程中,SUM值会不断更新,当累加到100后,BackgroundWorker会在成功执行
结束后调用一个 WCF服务来输出最终的运行信息,就像我们在下面这张图中看到的一样.

 附件: 您所在的用户组无法下载或查看附件

   

    首先我们要创建一个WCF服务应用,用来返回指定的累加数据信息.相应名称为:
    CrossSiteCall_Server
   因为要用到跨站调用,所以我们还要建立一个clientaccesspolicy.xml文件,并放在该项目的根目
录下,其内容如下:

Code


下面是相应的接口(Contract)及功能代码:

Code


然后将web.config文件中的binding="wsHttpBinding" 改写成basicHttpBinding. 编译运行这个
项目,并将最终的服务引用地址复制下来.
    本DEMO中的链接地址:http://localhost:7501/Service.svc

    然后我们再去创建一个Silverlight Application 项目,并将其命名为:BackgroundWorker   
    并在当前的silverlight项目中添加上面SVC地址的服务引用,并将其命名为Service.

  下面就是相应的xaml代码,将它放入Page.xaml中:

Code


接下来就是相应的cs代码了,相当的注释我已写入代码段中,相信大家看一下就会明白了:)

Code


另外还需要在cs文件中引用一下相应的名空间如下:

Code


现在就可以编译运行这个silverlight应用的(之前请先运行上面的wcf项目).

    另外除了BackgroundWorker, silverlight 2目前还可以使用DispatcherTimer组件定时器来
进行一些需要定时运行的任务.详见这里:)


    看来SL真是越来越强大了.


  源码下载,请点击这里:
 附件: 您所在的用户组无法下载或查看附件

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Silverlight] 的这些文章也感兴趣:

一步一步学Silverlight 2系列(20):如何在Silverlight中与HTML DOM交互(下)
一步一步学Silverlight 2系列(13):数据与通信之WebRequest
一步一步学Silverlight 2系列(3):界面布局
Silverlight 2 Release Candidate Now Available
Silverlight专题(15) - 你自己的视频播放器之自定义MoveToPointSlider
Silverlight 2中的视觉状态管理 Part1
【体验】Silverlight 2.0安装及使用(多图)
开源版Silverlight—Moonlight 1.0发布
Silverlight Tools RTW正式发布
使用SilverLight构建插件式应用程序(三)