- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
原创文章:WCF RIA Services使用详解
第3章 WCF Ria Services使用详解
要使用Silverlight开发企业级的应用系统,不可避免的要与数据库打交道。当开始使用Silverlight开发企业级的瘦客户端应用时,会发现Silverlight没有提供任何的对象来直接与数据库交互。这是因为Silverlight只是一个客户端平台,被设计用来在浏览器中运行,使得客户可以在任何位置通过一个Silverlight插件来运行应用程序。很明显,让一个浏览器客户端直接访问数据库是没太多意义的,而且也是一件危险的事情(目前大多数数据库都会放在防火墙后面)。
那么Silverlight客户端如何访问数据库?Silverlight的早期版本提供了比如Web服务这样的技术,允许客户端通过调用ASP.NET Web服务来跨应用程序边界访问数据库内容。此外,WCF也是目前最流行的服务器端技术,可以使用Silverlight与WCF交互来获取数据库数据。尽管可以使用WCF服务来操作数据库,但是创建和维护WCF服务会变得有些繁琐,主要是因为它将需要很多重复性的相似的代码,当为数据库添加过滤/排序/分组/分页等功能时,会变得非常复杂,需要不断的更新服务器端的引用,并且将强制开发人员编写和维护服务器端与客户端的逻辑,比如验证和业务规则逻辑。
为了解决这些问题,且简化Silverlight应用程序访问数据库,微软引入了一个新的技术,名为WCF Ria Services(通常称为RIA服务),专门设计让Silverlight应用程序访问数据库(未来也会用于其他的表示层技术)。
3.1 WCF Ria Services简介
RIA服务是构建在WCF之上的一个层,提供了常用的模式和框架来构建基于Silverlight的数据库驱动的应用程序,以便客户端可以方便的操作服务器端的数据,也可以说RIA服务简化了处理服务器端公开的数据的能力,并且提供了在客户端和服务器端共享业务逻辑的能力,它提供了一些系列的开发模式,并且提供了一个框架来简化开发Silverlight数据驱动程序的复杂性。
3.1.1 什么是WCF Ria Services
目前,大多数的企业级应用系统,都需要大量的处理数据库数据,数据在服务器端与客户端来回传数。对于经典的C/S架构的应用程序来说,当客户端请求服务器端数据后,在客户端界面上进行了一些处理,然后将修改过的数据传送回服务器端,服务器端将用来更新数据库数据。
现今的应用系统大多采用分布式架构,整个系统分由多个功能独立的层(layers或tiers)组成,比较热门的是三层是架构,这个架构将整个系统分为表示层、业务逻辑层和数据处理层。表示层和中间的业务逻辑层不能直接访问数据库。这种架构的一个问题是,它需要一个较复杂的底层框架来有效的在各个层之间传递数据,而且同样的代码可能会在多个层之间出现(比如数据类中的验证、业务规则和业务逻辑),重复的代码需求增加了额外的工作负担,也带来了很多潜在的问题。RIA服务被设计用于解决这个问题,使得开发人员只需要专注于解决实际的业务问题而不用过于关心架构方面的问题。
RIA服务中的一部分基于数据中心的设计模式来架构Silverlight应用程序,一部分是一个提供了高级数据管理功能的框架,包含验证/授权管理和查询特性,再一部分是自动的代码生成功能。使得在一个项目中编写的代码可以同步到另一个项目(通过RIA链接)。这些功能都是基于WCF服务之上,提供了中间层和表示层之间的沟通机制,整个架构如图3.1所示。
图3.1 RIA服务系统架构
RIA服务模式的关注点主要在于中间层,它并不绑定到某一特定的数据访问技术。但是它与Entity Framework和LINQ to SQL(需要安装WCF RIA Services Toolkit工具包)结合紧密。而且RIA服务模式也并不与某一特定的表示层技术绑定,虽然目前它的主要关注点在Silverlight,对其他表示层平台仅具有有限的支持。
RIA服务是一个端到端的技术,需要完全控制应用程序的客户端与服务器端。如果你需要访问已经存在的服务或者是使用由其它团队开发的服务,RIA服务可能有点不适合。
虽然本书的重点在于使用RIA服务来公开服务器上的数据和逻辑,但是一个Silverlight应用并不是仅限于这个技术,一些其它的用来通信的技术将在后面进行介绍。在本书介绍的很多概念即便没有使用RIA服务,对于构建企业级应用程序也是非常适用的。
RIA服务的框架部分提供了大量的额外的功能来极大的简化在表示层和中间层之间的通信,包含一个数据源控件,能够在XAML中以声明的方式与服务器端通信,客户端数据变更管理,以便服务器端进行处理,在客户端编写LINQ查询,并在服务器端实际的执行查询,以及基于ASP.NET成员与角色服务的身份验
您可能关注的文档
- 北京广播电视大学东城分校学生会章程(更新).doc
- 北京某大厦幕墙工程施工组织设计【建筑施工】.doc
- 北京欢乐谷简单版(PPT).ppt
- 北京特色展示(中英文).ppt
- 北京精雕图制作(jdpaint)教程扫描描图设计编修狮子头公仔.doc
- 北京自考心理学《认知心理学》 年真题含答案.doc
- 北京自考社会心理学(二)重点详解.doc
- 北京航空航天大学计算机科学与技术专业毕业设计论文.doc
- 北京限价房申请攻略含申请表.doc
- 北京普通高中政治会考考试说明附答案.doc
- 人教新目标版英语九年级 中考模拟学情评估(三)(含答案).pdf
- 上海市风华中学2024-2025学年高三上学期9月阶段测试英语试题(无答案).pdf
- 统编版2024-2025学年语文六年级上册期末检测卷(有答案).pdf
- 人教新目标版英语九年级第二学期全册学情评估(含答案).pdf
- 内蒙古自治区巴彦淖尔市杭锦后旗第六中学2024-2025学年八年级上学期阶段性测试历史试题(解析版).pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版无答案.pdf
- 湖南省衡阳市常宁市2023-2024学年七年级上学期期末考试英语试题.pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版含解析.pdf
- 江苏省泰州市姜堰区城西实验学校2024-2025学年部编版九年级上学期月考历史试卷(原卷版).pdf
- 内蒙古伊金霍洛旗2022-2023学年七年级上学期期末考试英语试题.pdf
最近下载
- 2024年社会工作者《中级法规与政策》数字型考点.pdf VIP
- 竺乾威、朱春奎、李瑞昌:《公共管理导论》 第三章 组织.pptx VIP
- 建筑工程图集 B16G101-1:中英文双语版16G101-1.pdf VIP
- 图集规范-05N6井盖标准图集.pdf
- 室外消防钢结构楼梯拆除方案.pdf
- (精选施工方案)0141 民航总局办公楼加固整修工程.doc VIP
- 统编版小学语文四年级上册第三单元 观察 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
- 有关青岛市新建住宅质量保修手册.doc
- 同课异构省一等奖《同底数幂的乘法》教案 (省一等奖) .doc
- 连云港市新海高级中学2023-2024学年高一上学期10月月考数学试题(解析版).docx VIP
文档评论(0)