WCF RIA服务,SilverLight衣食无忧
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 1572
WCFRIA服务的使用方法1、链接SilverLight与Web项目:RIA服务需要项目结构遵循一定的模式。首先,服务器项目(web)和客户端项目(silverlight)必须进行连接,使RIA服务

  WCF RIA服务的使用方法

 

  1、链接SilverLight与Web项目:RIA服务需要项目结构遵循一定的模式。首先,服务器项目(web)和客户端项目(silverlight)必须进行连接,使RIA服务内置的代码生成器可以在客户端项目中生成代码。这就要求客户端与服务器的项目必须在同一解决方案里。

 

  2、创建域服务:域服务更像是一个标准的WCF服务,但遵循一些给定的模式并提供了基本的功能。一般来说,对每个数据集都应配置一个相应的域服务,比如products,customers等;

 

  3、在域服务中创建域操作:主要是实现CRUD功能,使用客户端与服务器端进行交互。例如,对Product域服务通常需要配置如下域操作:GetProducts,InsertProduct,UpdateProduct和DeleteProduct;

 

  4、使用验证逻辑和其他特性标记修改实体:域服务所暴露的实体可以使用特性进行修饰(比如数据验证规则),也可以直接将属性设置到关联类上(称之为元数据类);

 

  5、设置可供服务器与客户端共享的代码:只需要将想要共享的代码放置在以.shared.cs扩展名的文件中即可;

 

  6、在客户端项目调用域服务:RIA服务自动在客户端项目生成代码,这些代码可以与服务器上的域服务进行交互。RIA服务为每个域服务创建了一个域上下文,为每个域服务暴露的实体创建了相应的代理类。现在就可以使用域上下文(domain contexts)从服务器上获取数据,对数据进行处理,并将任何变更保存到服务器上。



  WCF RIA服务器如何生成代码

 

  EIA服务需要服务器与客户端项目必须处于同一解决方案中并彼此连接。服务器端包含暴露数据的服务,而客户端与服务器端进行通信并使用数据。

 

  在服务器端创建域服务以后,RIA服务就创建了代码生成任务(一般称为投影),会生成相应代码和相关代码数据对象类(一般称这为实体,在客户端任何实体都是由服务所暴露的,可以应用特性,如验证逻辑;也可以将代码进行复制并标记为共享代码,供服务器端项目与客户端项目共享使用)。

 

        在SilverLight项目(客户端)有一个Generated_Code文件夹,这是在Silverlight项目编译时由RIA服务建立的。这可以命名客户端项目可以访问所有由RIA服务暴露的操作,数据,逻辑。注意生成的代码不要手工修改,重新编译后会被覆盖掉,如果想要更改,因为生成的代码是部分类,可以根据需要在其他位置编写代码。

 



  创建RIA服务连接

 

  如果使用SilverLight业务应程序项目模板,默认已经配置了RIA服务,提供了一些基本功能。

   1.jpg

  上图中项目中有一个Services文件夹与Models文件夹。Service文件夹已经包含了两个域服务(AuthenticationService和UserRegistrationService),用于对客户端的授权以及用户注册。Models文件夹包括两个数据类(User和RegistrationData),用于在服务器与客户端进行传递。在Models文件夹下还有一个Shared文件夹,有一个文件User.shared.cs,包含有可供服务器与客户端项目共享的代码。

 

 

 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2