WCF-Ria 服务
WCF RIA 服务是一个更高级别的框架,也是 .NET 4 和 Silverlight 4 等框架的新组件,它通过提供客户端验证简化了在 Silverlight 中构建复杂业务应用程序的过程。RIA 代表富互联网应用程序。
这里必须指出的是,Silverlight 是 Microsoft 提供的一个框架,非常适合富互联网应用程序,并且可以用作浏览器插件,就像 Adobe Flash 一样。
WCF RIA服务主要基于WCF服务的标准版本。下图说明了 WCF 体系结构的一部分,其中 WCF RIA 服务总体上有其重点。

创建 WCF RIA 服务是更好地理解该概念的下一步。下面给出了分步过程。
步骤 1 - 使用 Silverlight 5 创建一个名为 SLWCFRiaServices.Web 的新 Web 项目,然后通过选择 ADO.NET 实体数据模型来添加新项目。


步骤 2 - 现在通过从数据库生成模型,从实体数据模型向导中选择模型内容。

步骤 3 - 从同一向导中,选择您的数据连接和数据库对象。


步骤 4 - 构建解决方案,以便将来识别数据模型对于您要创建的域服务来说不会成为问题。

步骤 5 - 现在通过添加新项目在 Web 项目中创建域服务,并确保启用客户端访问。


步骤 6 - 在下一步中,将生成一些类,并且必须再次构建它们。


步骤 7 - 在此步骤中,DataDomainContext 由数据源面板显示。

步骤 8 - 在此步骤中,应选择并自定义 DataDomainContext 下面的文章。

步骤 9 - 将 DataGrid 控件附加到数据源是此处提交的步骤,以及主题的选择。这里已选择 BureauBlue 主题。


步骤 10 - 最后一步包括进入设计屏幕并通过简单的拖放在主页的布局区域中添加实体。确保 AutoGenerateColumns = "True" 并运行它以查看输出也很重要。


先决条件
体验 WCF RIA 服务的全部潜力有一些先决条件 -
- 视觉工作室 2010 / 视觉工作室 2012
- Silverlight 开发者运行时
- 最新版本的 RIA 服务工具包
- SDK(软件开发工具包)
WCF RIA 域服务
领域服务由一组与业务相关的数据操作组成。它只不过是一个公开任何 WCF RIA 服务应用程序的业务逻辑的 WCF 服务。
WCF RIA 域服务在内部具有托管类 DomainServiceHost,该类又使用 WCF ServiceHost 类来托管应用程序。为了使域服务可供客户端项目访问,它应该具有 EnableClientAccessAttribute 属性。每当添加新的域服务类时,都会自动应用该属性。
下图显示了 WCF RIA 域服务的架构 -

WCF RIA 服务 – 查询数据
下图展示了如何在客户端创建查询并在服务器端执行查询以返回可查询的结果。DAL 代表数据访问层。

WCF RIA 服务 – 更新数据
下图展示了如何在服务器端执行CUD(Create Update Delete)操作来更新数据。这里需要注意的是,WCF RIA服务在服务器端始终是无状态的。
