Silverlight与后台数据库的三种技术实现基本的互操作(转)

http://silverlightchina.net/html/tips/2009/0826/153.html

本章节提供Silverlight与后台数据库的三种技术实现基本的互操作(Silverlinght Interoperability),构建一个Silverlight SOA的应用。 准备环境 Windows 2003/2008/vista Visual Studio.net 2008+sp1 Silverlight 3.0 SDK Silverlight3 Tools Microsoft E

  

简介

 

本章节提供Silverlight与后台数据库的三种技术实现基本的互操作(Silverlinght Interoperability),构建一个Silverlight SOA的应用。

 

准备环境

 

Windows 2003/2008/vista

Visual Studio.net 2008+sp1

Silverlight 3.0 SDK

Silverlight3 Tools

Microsoft Expression Blend 3

RiaServices.msi

RiaSevicesPreviewBusinessApplication.msi

 

前提

 

熟悉.net framework 3.5

了解Silverlight开发

了解Linq开发

了解Ado.net data service

 

 

主要内容

 

创建一个Silverlight应用程序

创建一个普通的WCF服务提供Silverlight应用调用实现互操作

创建一个Ado.net data service服务提供Silverlight应用调用实现互操作

创建一个Domain Service (RIA-Link)提供Silverlight应用调用实现互操作

 

创建一个Silverlight应用

 

安装完上述开发组件后,在visual studio.net 2008中会加入Silverlight项目模板,你可以选择Silverlight Navigation Application 或是 Silverlight Business Application创建

解决方案结构

运行起来的页面

添加新页,而不是User Control,安装了RIA Service后会新增许多Silverlight项目模板,在你做应用开发的时候会提供非常方便的使用

 

创建一个普通的WCF服务提供Silverlight应用调用实现互操作

 

 

定义WCF接口

 

1执行SQL(insert ,update, delete),实现与数据库的互操作

2执行SQL(select),得到返回的dataset后以string的类型返回

 

Silverlight调用WCF

 

新增,删除,编辑,查询功能通过调用WCF提供的2个接口实现。

注意:Silverlight Datagrid控件无法绑定匿名对象。

 

 

创建一个Ado.net data service服务提供Silverlight应用调用实现互操作

 

 

添加LINQ数据源

 

可以选择ado.net entity data model或是LINQ to SQL Classes

 

添加一个ado.net data service

 

 

Silverlight调用Ado.Net data service

 

新增,删除,编辑,查询功能通过调用Ado.net data service提供的接口实现

新增功能实现完全参考LINQ to SQL实现方式,惟一不同的是必须调用异步方法实现

 

创建一个Domain Service (RIA-LINK提供Silverlight应用调用实现互操作

 

 

添加一个Domain Service

 

选择Domain Service Class

选择需要发布服务的实体类和操作方式,metadata class可以让你很方便实现对实体类的验证和控制显示格式。

 

Silverlight调用RIA-LINK实现互操作

 

新增,删除,编辑,查询功能通过调用RIA-LINK提供的接口实现

RIA-LINK(SilverlightApplication3.Web.g.cs)

调用LINQ查询,不同的是不再需要调用异步方法实现这些功能,也不需要引用服务

 

RIA Serve框架

 

 

 

 

三种实现方式的比较

 

WCF服务

ADO.NET Data Service

RIA Service

构建应用程序效率

扩展性

安全性

性能

数据库兼容性

仅支持MS SQL

仅支持MS SQL

上一篇:《中国人工智能学会通讯》——11.40 面向知识库的实体链接


下一篇:iOS 安全之针对 mach_portal 的分析