微软提供了一个WCF Data Services Client Library来在C#中实现OData客户端。这个库的工作原理是创建对OData服务的类型化引用。
在C#中实现OData客户端而不必预先生成类型化服务接口的好方法是什么?换句话说,给定基URL和实体名称作为字符串,在C#中实现可以与几个不同的OData服务一起工作的OData客户机的好方法是什么?
这样的客户端将使用动态C#对象或字典来表示实体,而不是类型化的实体对象。
可以利用哪些现有的库或项目来实现这一点?
该技术的一个应用是开发一个通用的功能测试套件助手库,该库可用于实现OData服务的测试。
发布于 2012-01-13 19:52:25
上面指向odata-sdk的指针绝对是一个好的开始。例如,该网站上也列出了OData资源管理器,它几乎就是您正在寻找的。它是一个通用的OData服务“浏览器”。
另一种方法(也许更好)是使用Microsoft.Data.OData.dll。它是WCF Data Services (http://blogs.msdn.com/b/astoriateam/archive/2011/10/13/announcing-wcf-data-services-oct-2011-ctp-for-net-4-and-silverlight-4.aspx)最新CTP的一部分。它是OData的低级阅读器和写入器。它不能解决URL处理问题,但读写有效负载的效果很好。这里有一个用法示例:http://blogs.msdn.com/b/astoriateam/archive/2011/10/14/introducing-the-odata-library.aspx
发布于 2012-01-13 19:07:47
你只需要一个URL/字符串解析器就可以了,如果你想深入了解更多,你可能还想看看这里的一些选项:
http://www.odata.org/developers/odata-sdk
https://stackoverflow.com/questions/8849559
复制相似问题