【发布时间】:2012-06-28 00:04:16
【问题描述】:
我有一个 Web 服务,它通过一个名为 GetAll() 的方法简单地返回大量数据。
如果我不想要所有数据怎么办?如果我只想要基于查询或某些条件的几个实体怎么办。发送所有实体/对象然后在消费者端处理“查询”感觉有点傻。这是对带宽的浪费,也是对时间的浪费,因为查询数据库中所有对象/实体的查询需要相当长的时间。
是否有可能以某种方式发送 lambda 表达式或其他东西作为参数,然后让服务根据该表达式查询数据库,然后将所有对象的列表返回给使用者?
【问题讨论】:
-
这取决于您的网络服务是如何构建的。如果您可以更改它或添加一个接受谓词的方法,那么很容易实现您想要的。 :)
-
如果您愿意,您可以将加密的麦当劳菲力鱼三明治元组传递给您的网络服务。真正的问题是你的网络服务能处理它吗?
-
这似乎适用于 ASP.NET Web API,它在客户端支持 OData 和 IQueryable。看这里:stackoverflow.com/questions/10422460/….
-
@Trustme-I'maDoctor 嗯,我对双方都有完全的控制权.. 我刚刚开始构建 web 服务 :).. 所以还没有真正构建任何东西
标签: c# asp.net web-services lambda