原创文章:WCF RIA Services使用详解.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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成员与角色服务的身份验

您可能关注的文档

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档