我最近玩过ASP.NET WebAPI,包括一些显示结果的Html-Pages,在浏览器/小提琴手等中试用OData查询,我真的很感动,到目前为止一切都很好。
但是... 现在我尝试构建一个可重用的.Net客户端库,它可以轻松访问WebAPI公开的所有方法。 我试图通过Linq2Rest(伟大的IQueryable-Interface!)和我自己用HttpClient实现Wrappers。
我对Linq2Rest的问题:
当我尝试使用HttpClient自己实现客户端时,我不知道如何
感谢您的每一个建议......
答案 0 :(得分:4)
我是Linq2Rest的开发者,您的积分非常有效。创建Linq2Rest是为了在WebAPI之外添加OData支持。如果您已经在使用WebAPI,那么请务必坚持使用Microsoft。
它不是来自Microsoft,但OData是一个开放标准,Linq2Rest是根据标准文档实现的。开源已经意味着Linq2Rest能够比微软更频繁地发布。出于这个原因,它已经支持来自OData 3规范的Any / All查询,Microsoft目前不支持这些查询。
将客户端注入每个上下文是为了减少它支持的服务的限制。现在由您来定义端点。我正在考虑如何从单个上下文支持多个端点。
目前它不支持PUT / POST / DELETE,但如果您在项目中将其作为功能请求发布(https://bitbucket.org/jjrdk/linq2rest/issues?status=new&status=open),然后它肯定会被添加到管道中。
编辑:最新的预发布版增加了对PUT / POST / DELETE操作的支持。该API目前正在测试中。如果您从2.5.0.0下载版本,那么您将获得对它的支持。
答案 1 :(得分:0)
如果您正在寻找Odata图书馆。然后从Microsoft
尝试这个http://blogs.msdn.com/b/astoriateam/archive/2011/10/14/introducing-the-odata-library.aspx