是否可以在常规WCF服务中使用oData过滤,排序,分页?

时间:2013-01-24 22:18:23

标签: wcf odata asp.net-web-api

我需要创建一个支持过滤的Web服务。排序和分页。我看了一下WCF oData服务。它具有所有这些功能,并且需要最少的设置。但是,我认为您不能在服务中编写业务逻辑,因此oData仅适用于只读服务(可能适用于不涉及业务逻辑的读写服务)。

后来我看了一下MVC Web API,它支持oData样式过滤等,只需将方法的返回类型用作IQueryable即可。知道这一点后我很高兴,直到我发现你无法自动为服务生成客户端代码。我不想处理HTTP的东西。我需要自动生成客户端。

所以我想知道相同的IQueryable事物是否适用于常规WCF服务,因为它支持自动客户端生成。

1 个答案:

答案 0 :(得分:0)

如果asp.net MVC应用程序具有$ metadata端点,那么您可以使用现有的Microsoft.Data.Services.Client来访问此服务。您可以通过提供$ metadata端点,使用Vistual Studio中的“添加服务引用”来创建客户端代码。然后,它将创建一个用于访问服务的客户端层。

附件是使用ASP.net MVC的OData服务上的博客文章的链接。

http://blogs.msdn.com/b/alexj/archive/2012/12/07/odata-in-webapi-rc-release.aspx

要创建客户端图层,您可以跳过“创建客户端应用程序”标题来执行此处的演练: http://msdn.microsoft.com/en-us/library/vstudio/cc668184.aspx

您可以使用带有OData的ASP.net MVC进行过滤,分页(客户端和服务器分页)。