2024年4月25日发(作者:)

基于Silverlight4.0的用户管理系统设计与实现

摘 要:以Visual Studio 2010和SQL Server 2005为平台搭建

Silverlight 4.0三层架构解决方案,采用WCF RIA Services的方式操

作后台数据库,以构建用户管理系统说明Silverlight 4.0平台下数据

的操作使用方法。

关键词:银光;C#;WCF RIA Services;实体数据模

1 概述

1.1 Silverlight概述

Silverlight(中文名译为银光或银光技术)是微软公司开发的跨

浏览器、跨平台的富互联网应用(RIA,Rich Internet Application)策

略的设计、开发、发布平台。Silverlight是一种全新的Web呈现技术,

可以为用户提供内容丰富、界面炫美的交互体验,具有高效开发、高

艺术性的特点。至今微软已正式发布了Silverlight4.0,作为下一代

Web技术的原型,这一技术正在得到不断的提升,越来越多的用户开

始关注它的进一步发展,并已在实践中得到应用。

1.2 Silverlight项目的架构

Silverlight项目可以搭建三层架构甚至多层架构,但这与通常的

三层架构有不同之处。Silverlight 4.0引入了WCF RIA Services,可以

快速搭建多层架构,如同传统的B/S项目一般。Silverlight项目在建

立时就已经为用户搭建了清晰的三层架构轮廓,由于是以浏览器为依

托的客户/服务器项目,因此客户端项目定义为表现层,表现层基于

Silverlight技术;服务器端项目定义为中间层,中间层基于.Net技术;

底层为数据层,数据层即物理数据库。架构图如图1。

1.3 Silverlight项目的面向对象及数据库操作原理

C#是面向对象的编程语言,但在Silverlight项目中,面向对象又

有了新的诠释。类可以是抽象、继承来的,也

可以是用户控件、子窗体,为什么不可以是数据表呢?数据表完

全合乎作为类的条件,因此作为项目的核心来考虑也不为过。

图1 Silverlight 三层架构示意图

WCF RIA Services不仅方便搭建多层架构,其数据访问技术也十

分强大。

作为中间层,需要与后台数据库通信,也需要将处理的信息传递

给客户端,Silverlight的服务器端项目也需要进行如此操作。在引入

实体数据模型时,可以添加现有数据库的表、视图、存储

过程等,建立类似实体-联系图的框架模型。基于此模型,可以建立

多个域服务类(派生自LinqToEntitiesDomainService),每个域服务类

选择至少一个表或视图,每个表或视图只能存在于一个域服务类中,

因为类的设定不能重复。域服务类的metadata文件便是对引入的每个

表或视图的类定义、说明和限制,而域服务类文件中则是对这些定义

类的应用。也就是说,对数据库的访问、操作命令就在此处维护。

客户端无法直接与域服务交互,但客户端为每个域服务类都产生

一个对应的域上下文类,在域上下文类上调用使用的是对应的域服务