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 − 最后一步是进入设计屏幕,通过简单的拖放操作在 MainPage 的布局区域中添加实体。确保 AutoGenerateColumns = "True" 并运行它以查看输出也至关重要。
先决条件
要充分发挥 WCF RIA 服务的潜力,有一些先决条件 −
- Visual Studio 2010 / Visual Studio 2012
- Silverlight 开发人员运行时
- 最新版本的 RIA 服务工具包
- SDK(软件开发工具包)
WCF RIA 域服务
域服务由一组与业务相关的数据操作组成。它只是一个 WCF 服务,可公开任何 WCF RIA 服务应用程序的业务逻辑。
WCF RIA 域服务内部具有托管类 DomainServiceHost,后者又使用 WCF ServiceHost 类来托管应用程序。要使客户端项目可以访问域服务,它应该具有 EnableClientAccessAttribute 属性。每当添加新的域服务类时,都会自动应用该属性。
下图显示了 WCF RIA 域服务的架构 −
WCF RIA 服务 - 查询数据
下图显示了如何在客户端创建查询并在服务器端执行查询以返回可查询的结果。DAL 代表数据访问层。
WCF RIA 服务 - 更新数据
下图显示了如何通过在服务器端执行 CUD(创建更新删除)操作来更新数据。这里需要注意的是,WCF RIA 服务在服务端始终是无状态的。