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,
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