我需要创建一个支持过滤的Web服务。排序和分页。我看了一下WCF oData服务。它具有所有这些功能,并且需要最少的设置。但是,我认为您不能在服务中编写业务逻辑,因此oData仅适用于只读服务(可能适用于不涉及业务逻辑的读写服务)。
后来我看了一下MVC Web API,它支持oData样式过滤等,只需将方法的返回类型用作IQueryable即可。知道这一点后我很高兴,直到我发现你无法自动为服务生成客户端代码。我不想处理HTTP的东西。我需要自动生成客户端。
所以我想知道相同的IQueryable事物是否适用于常规WCF服务,因为它支持自动客户端生成。
答案 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进行过滤,分页(客户端和服务器分页)。