Silverlight4如何访问数据库数据?

来源:互联网 发布:100g的阿里云服务器 编辑:程序博客网 时间:2024/06/06 00:51

Silverlight根本没有System.Data.*类库,那silverlight怎么访问数据库数据呢?如果这个问题你还很疑惑,那就应该去了解下Silverlight的来由和微软推荐的系统架构了:前台访问数据要通过服务层,也就是说前台是不允许直接操作数据库数据的,因此Silverlight根本没有System.Data.*类库。

  Silverlight可以使用 socket, webclient, webrequest, wcf, wcf data service, wcf ria service 来访问服务器数据。其中:

  socket是要自己写通讯逻辑,包括数据的结构,这适合游戏编程,若用来传递大批量的数据库数据,还有很大的封装代码量要做。

  wcf简化了socket编程,可少关注些交互协议,数据量不大的情况也可以用做游戏编程,简单封装后也可以用于传递数据库数据。

  webClient和webrequest可以用http协议访问网站,这个.....可以用这个返回text、xml、json等文本数据,那么原有的jquery+webhandler架构就可以利用起来了。不过,sl4既然没有javascript了,json格式还有什么用呢?用 System.Json还原成类对象应该是一个路子,这个有空可以做个示例。

  wcf data service 原先好像叫 ado.net data service,是微软提供的服务器端数据访问框架,是基于 linqToDb 和 EntityFrameWork 的,现阶段好像只支持 sqlserver。访问其它数据库?微软推荐sql server因为它赚钱,oracle也不是不可以,有开源类库做这个事情,不过还有很大的工作量要做(微软故意设置障碍)。

  wcf ria service是支持silverlight最好的,需要写的代码很少,可以专心写business logic,数据层通过domain service可以很方便的实现entity的CRUD(数据集IQueryable GetX),而且集成了异步访问web service/domain service的代码。wcf ria service支持的客户端:Silverlight, AJAX, Webforms.

  另,WCF data service和WCF Ria Service 的共同点:

  Based on WCF

  Use a RESTful architecture

  Can be used to expose any data source (sql, xml, poco/objects etc.)

  Client side libraries provide ability to query using LINQ

原创粉丝点击