Silverlight商业应用程序开发---学****笔记(2)
时间:2012-05-07 18:17来源:博客园作者:qouoww 点击: 1124次
从服务器暴露数据何为WCF RIA服务 RIA服务建立在WCF顶层,,授权管理以及查询功能的框架通过代码生成器,通用代码可供多层调用基于WCF服务构建,可以充当中间层与显示层的通信媒介 RIA服务聚焦中间层,与EF框架协
从服务器暴露数据
何为WCF RIA服务
RIA服务建立在WCF顶层,
数据为中心的设计模式
可提供高级数据管理,授权管理以及查询功能的框架
通过代码生成器,通用代码可供多层调用
基于WCF服务构建,可以充当中间层与显示层的通信媒介
RIA服务聚焦中间层,与EF框架协同,;因此,:
数据源控件,可用于XAML与服务进行通信
跟踪客户端对数据所做的修改,并将其更新到服务器
可以在客户端使用LINQ查询,然后在服务器端执行这些查询
随时可用的授权服务功能
WCF RIA服务的使用方法
1、链接SilverLight与Web项目:RIA服务需要项目结构遵循一定的模式。首先,服务器项目(web)和客户端项目(silverlight)必须进行连接,使RIA服务内置的代码生成器可以在客户端项目中生成代码。这就要求客户端与服务器的项目必须在同一解决方案里。
2、创建域服务:域服务更像是一个标准的WCF服务,但遵循一些给定的模式并提供了基本的功能。一般来说,对每个数据集都应配置一个相应的域服务,比如products,customers等;
3、在域服务中创建域操作:主要是实现CRUD功能,使用客户端与服务器端进行交互。例如,对Product域服务通常需要配置如下域操作:GetProducts,InsertProduct,UpdateProduct和DeleteProduct;
4、使用验证逻辑和其他特性标记修改实体:域服务所暴露的实体可以使用特性进行修饰(比如数据验证规则),也可以直接将属性设置到关联类上(称之为元数据类)。
5、设置可供服务器与客户端共享的代码:;
6、在客户端项目调用域服务:RIA服务自动在客户端项目生成代码,这些代码可以与服务器上的域服务进行交互。RIA服务为每个域服务创建了一个域上下文,为每个域服务暴露的实体创建了相应的代理类。现在就可以使用域上下文(domain contexts)从服务器上获取数据,对数据进行处理,并将任何变更保存到服务器上。
WCF RIA服务器如何生成代码
EIA服务需要服务器与客户端项目必须处于同一解决方案中并彼此连接。服务器端包含暴露数据的服务,而客户端与服务器端进行通信并使用数据。
在服务器端创建域服务以后,RIA服务就创建了代码生成任务(一般称为投影),会生成相应代码和相关代码数据对象类(一般称这为实体,在客户端任何实体都是由服务所暴露的,可以应用特性,如验证逻辑;也可以将代码进行复制并标记为共享代码,供服务器端项目与客户端项目共享使用)。
如图所示:在SilverLight项目(客户端)有一个Generated_Code文件夹,这是在Silverlight项目编译时由RIA服务建立的。这可以命名客户端项目可以访问所有由RIA服务暴露的操作,数据,逻辑。注意生成的代码不要手工修改,重新编译后会被覆盖掉,如果想要更改,因为生成的代码是部分类,可以根据需要在其他位置编写代码。
创建RIA服务连接
如果使用SilverLight业务应程序项目模板,默认已经配置了RIA服务,提供了一些基本功能。
上图中项目中有一个Services文件夹与Models文件夹。Service文件夹已经包含了两个域服务(AuthenticationService和UserRegistrationService),用于对客户端的授权以及用户注册。Models文件夹包括两个数据类(User和RegistrationData),用于在服务器与客户端进行传递。在Models文件夹下还有一个Shared文件夹,,包含有可供服务器与客户端项目共享的代码。
RIA服务的连接配置方法如下:
如果
silverlight商业应用程序开发---学习笔记 来自淘豆网www.taodocs.com转载请标明出处.