• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > net编程 >

OData的实际应用-通过开放数据协议构建富Internet应用程序(5)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-06-27点击:

其他 OData 生产者

截至目前,我已经展示了从 SQL Server、SharePoint 和网络上一般的 OData 服务获得数据的示例,但还有更多选择存在。基于云计算的 Windows Azure 平台具有一个表服务,可以提供 Windows Azure 表中存储的数据,而其 API 是使用 OData 构建的。如前所述,Microsoft Dallas 项目是一个数据市场,可查找和查询 Dallas 服务提供的数据,而该服务使用 OData 协议提供其数据。OData 的生产者并不仅限于 Microsoft 产品,IBM 最近宣布其 WebSphere eXtreme Scale 7.0 产品现在也支持 OData 协议。

Silverlight 客户端

Contoso 的房地产查找应用程序现在使用 ASP.NET Web 服务来提供 SQL Server 中的关系数据(有关该公司管理的房地产销售清单和房产的数据);使用 SharePoint 站点来管理有关公司代理人的数据;使用政府 Web 服务来提供公司推广的房产所在地区的数据。我要将所有这些数据源合并到一个 Silverlight 应用程序中,用有意义的方式来处理这些数据。

在 Silverlight 3 中,Silverlight SDK 中包含了一个 WCF 数据服务客户端库,使得 Silverlight 应用程序可以更容易地与启用了 OData 的服务通信。为此,在 Visual Studio 的 Silverlight 项目中,右键单击该项目,选择“添加服务引用”。这将引导您完成创建服务引用的过程。服务引用的主要输入是要从 Silverlight 应用程序引用的服务的 URI。图 7 显示了向 OGDI 示例服务添加服务引用的示例。

图 7 向 OGDI 示例服务添加服务引用

 

服务引用向导将创建一个客户端上下文类,用于与数据服务进行交互。该客户端上下文从客户端编程模型提取出与 HTTP 和 URI 相关的细节,使客户端开发人员只需考虑 C# 类和 XAML。该客户端上下文还包括一个 LINQ 提供程序实现,因此也支持对代理执行 LINQ 查询。“添加服务引用”向导还将生成一组客户端代理类,用于镜像由被引用的服务提供的类型。创建 OGDI 服务引用后,我还将创建对已创建的 SharePoint 和 Listings 服务的服务引用。此代码显示了如何创建用于与这三个 OData 服务进行交互的上下文:

// OGDI service context
OGDIService.dcDataService OGDIService =
new dcDataService(new Uri(OGDIServiceURI));

// SharePoint service context
AgentsReference.AgentsDataContext agentsService =
new AgentsReference.AgentsDataContext(new Uri(sharepointServiceURI));

// Listings Service context
ListingReference.ListingsEntities listingsService =
new ListingReference.ListingsEntities(new Uri(listingsServiceURI));

图 8 显示了 Silverlight 房地产 Home Finder 应用程序的梗概。此应用程序将托管在 SharePoint 中,以方便习惯了使用 SharePoint 环境的现有用户。

图 8 Contoso Home Finder

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ