WCF RIA Services 基础

http://www.cnblogs.com/2018/category/262512.html

前面几篇文章分析了WCF Data Service的使用,在RIA系统的开发中,和WCF Data Service类似,WCF RIA Service提供了更方便的功能。

由于WCF RIA Services目前主要是在Silverligh的场景下使用,因此主要以这个为例说明。

开发环境:

VS2010

Siliverlight 4 Tools for VS2010(Silverligh4_Tools.exe):SL4 SDK、RIA Service等

Silverlight 4 toolkit

RiaServicesToolkit

项目模板Business Application

这个模板包含了Membership的基本应用框架。

模板项目目录结构

服务端:

Models:

DTO: 用于在服务端和客户端传递的对象

Shared:用于包含服务端和客户端的共享代码

Resources:

包含可本地化的资源文件【通过连接在客户端和服务端共享】

Services

Domain Service Class: 基于WCF RIA Services框架产生的服务

客户端:

和名称对应比较清晰

如果显示项目的隐藏文件,可以看到Generated_Code目录,这个IDE基于WCF RIA Services自动生成的对象,这样客户端就不要手动的进行代理的生成了【Project Link】。

添加一个新的Domain Service

1. 新加Ado.net Entity(EDMX), Build项目

2. 加Domain Service Class,

clip_image002

Build项目

3. 此时在浏览器即可访问,如

【服务是有框架自动生成的,对应规则是:

如果服务的类是:RIA.Web.Services.NorthWindService

那么svc服务的地址就是RIA-Web-Services-NorthWindService.svc

oData的形式

http://localhost:52878/RIA-Web-Services-NorthWindService.svc/oData/

http://localhost:52878/RIA-Web-Services-NorthWindService.svc/oData/$metadata

以上返回的是架构信息

http://localhost:52878/RIA-Web-Services-NorthWindService.svc/oData/CustomerSet

返回的是数据内容

将服务发布为JSON形式

1、添加服务承载组件

C:\Program Files\Microsoft SDKs\RIA Services\v1.0\Toolkit\Libraries\Server\Microsoft.ServiceModel.DomainServices.Hosting.dll

这个是在RIA toolkit中的一组已经实现的功能

2、配置组件

Web.config

  <domainServices>

      <endpoints>
                    <add name="JSON" type="

Microsoft.ServiceModel.DomainServices.Hosting.JsonEndpointFactory, Microsoft.ServiceModel.DomainServices.Hosting,

Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

3、使用服务

http://localhost:52878/RIA-Web-Services-NorthWindService.svc/json/GetCustomers

具体例子参考: http://dskit.codeplex.com

posted @   2012  阅读(2485)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示