拼吾爱程序人生

首页 » .Net编程 » Silverlight » 在silverlight 2 (beta1) 中使用BackgroundWorker
cobra - 2008-6-17 13:00:00
文/代震军  出处/博客园

    在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] 的这些文章也感兴趣:

Moonlight新的里程碑:Silverlight国际象棋
什么是SilverLight
走近Silverlight
四个原因让Silverlight无法取代Flash
Silverlight、JavaFX、Flex/Flash技术比较
Silverlight vs Flash的技术比较
Silverlight:你需要知道的十件事情
在Silverlight中使用定时器(Timer)
Silverlight应用程序的.NET项目结构
设计silverlight的MediaPlay控件
设计一个silverlight的Button控件补完设计
.NET开发Silverlight程序:界面和对象模型
1
查看完整版本: 在silverlight 2 (beta1) 中使用BackgroundWorker
Modify by pin5i DZNT_ExpandPackage 2.1.3295 2007-2009 pin5i.com
 Total Unique Visitors: