0

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

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

所以我想知道相同的 IQueryable 是否可以在常规 WCF 服务中工作,因为它支持自动客户端生成。

4

1 回答 1

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 进行过滤、分页(客户端和服务器分页)。

于 2013-01-25T18:25:08.877 回答