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,
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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代理技术深度解析与实战指南