下载此文档

silverlight商业应用程序开发---学习笔记.doc


文档分类:IT计算机 | 页数:约83页 举报非法文档有奖
1/83
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/83 下载此文档
文档列表 文档介绍
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转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数83
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2623466021
  • 文件大小3.49 MB
  • 时间2018-06-15