我们的团队正在评估使用 WCF 数据服务(以前称为 ADO.NET 数据服务),并确定我们必须创建一个自定义数据服务提供程序。我们在哪里可以找到两个必需接口的示例实现:IDataServiceMetadataProvider和IDataServiceQueryProvider?
编辑:请注意,“WCF 自定义数据服务提供程序”与“ADO.NET 自定义数据提供程序”不同。
编辑:我们已经开始使用 Reflector 进行逆向工程,但如果有人有他们愿意发布的样本,我仍然会很感激!
我们的团队正在评估使用 WCF 数据服务(以前称为 ADO.NET 数据服务),并确定我们必须创建一个自定义数据服务提供程序。我们在哪里可以找到两个必需接口的示例实现:IDataServiceMetadataProvider和IDataServiceQueryProvider?
编辑:请注意,“WCF 自定义数据服务提供程序”与“ADO.NET 自定义数据提供程序”不同。
编辑:我们已经开始使用 Reflector 进行逆向工程,但如果有人有他们愿意发布的样本,我仍然会很感激!
两周前,我刚刚使用自定义提供程序实现了我的第一个 DataService,并且正处于放弃的边缘(即使在阅读了 AlexJ关于自定义提供程序的博客文章之后。)。
然后我发现自定义提供程序工具包使这项任务变得非常容易。查看解决方案以及其中的演示 Web 服务的实现方式。然后更改该演示项目以满足您的需求。从头开始编写所有这些代码要容易得多,而且无论如何构建工具包时都考虑到了可重用性。
最后!来自 Microsoft 的 Alex James 现在正在写博客:
http://blogs.msdn.com/alexj/archive/2010/01/04/creating-a-data-service-provider-part-1-intro.aspx
我不知道任何开源/公共实现;您最好的选择可能是针对现有实现使用 .NET Reflector。
您需要编写的代码将取决于您的数据源。
您可以通过使用标准 ADO.Net 数据服务并在必要时扩展它们来节省开发工作量。
查看有关将自定义代码注入 ADO.Net 数据服务的链接:http ://weblogs.asp.net/cibrax/archive/2009/06/08/injecting-custom-logic-in-ado-net-data -services.aspx
该页面还有一个链接,显示了一些实现细节。
我假设 MS 在创建他们的SharePoint 提供程序时使用了 WCF 数据服务自定义提供程序接口,也许我们可以通过反映一些 SharePoint DLL 来找到使用信息。
完成此任务的最佳方法是使用WCF 数据服务工具包。
该项目的作者/维护者也有一些关于其使用的博客文章。他没有详细说明如何使用它的所有功能 - 但确实为您提供了一个很好的介绍和如何使用它的示例。
它本质上允许您通过实现“存储库”类将任何对象公开为 OData 提要。它处理向数据服务框架报告数据形状所需的所有反射。