闲谈Silverlight精简框架应用方式
创始人
2024-06-19 01:20:16
0

Silverlight的应用在一定程度上解决了开发人员对于多媒体处理方面的难题。并且根据实际的使用最大限度的提高了开发效率。我们在这里将会为大家介绍有关Silverlight精简框架的一些应用方法。#t#

Silverlight的数据请求需要架设wcf、webservice或者webclient,而且中间数据需要序列化和反序列化,或者自己用linq解析,易用性不是很强,且比较麻烦,基于目前还没有统一和规范的silverlight开发模式,所以从五六个自己做过的基于Silverlight的中型项目,抽出核型代码形成一套精简框架,方便调用,扩充和分布式部署。

Silverlight精简框架项目文件说明:

  1. EasySL.Controls 封装了一些基于Silverlight的
    自定义控件,目前还没加进来  
  2. EasySL.Core 请求数据,返回数据的json序
    列化和反序列化机制,较之webservice xml性能好些  
  3. EasySL.Core.SL 和上面一样,Silverlight项目用  
  4. EasySL.Data 数据访问层实现  
  5. EasySL.Data.Interface 数据访问层接口  
  6. EasySL.Entity 实体层  
  7. EasySL.Service 业务逻辑,数据加工,缓存处理  
  8. EasySL.Share 一些常用helper  
  9. EasySL.Server Remoting server  
  10. EasySL.UI Silverlight主控件  
  11. EasySL.Web asp.net主页面 

 

Silverlight精简框架部署方式:

1.web.config里设置ServerEnable为false,将不需要开启remoting server,由web层直接请求业务逻辑层(EasySL.Service)

2.web.config里设置ServerEnable为true,然后启动remoting server(EasySL.Server),

将由remoting server代理访问业务逻辑层,易于分布式部署

Silverlight精简框架简单使用:

  1. //UI层page.xmal.cs  
  2. //初始化一个task  
  3. this.getProductListTask = new Task();  
  4. //初始化请求数据  
  5. getProductListTask.BeforeStart += new 
    EventHandler(getProductList
    Task_BeforeStart);  
  6. //回调时更新界面  
  7. getProductListTask.Callback += new 
    GetDataAsyncCompleted(GetProductLis
    tCallBack);  
  8. void getProductListTask_BeforeStart
    (object sender, EventArgs e)  
  9. {   
  10. Task task = sender as Task;  
  11. task.MethodName = "GetProductList"; 
    //对应于数据层的方法名  
  12. task.ReturnType = typeof(List); 
    //对应于数据层的返回类型  
  13. task.SetParameter("count", int.Parse
    (this.count.Text)); //对应于数据层的方法的参数  
  14. }  
  15. public void GetProductListCallBack
    (Response response)  
  16. {  
  17. List product = reponse.
    data as List;  
  18. //update UI.  
  19. }  
  20. //所以你需要在数据访问层增加对应的方法:  
  21. public List Get
    ProductList(int count)  
  22. {  
  23. //get data from xml or database  

Silverlight精简框架的相关应用放就为大家介绍到这里。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...