如何在C#中实现动态OData客户端

本文关键字:动态 OData 客户端 实现 | 更新日期: 2023-09-27 18:20:07

Microsoft提供了一个WCF数据服务客户端库,用于在C#中实现OData客户端。这个库的工作原理是创建对OData服务的类型化引用。

在C#中实现OData客户端而不必预先生成类型化服务接口的好方法是什么?换句话说,在给定基本URL和实体名称为字符串的情况下,用C#实现一个可以与几个不同OData服务一起工作的OData客户端的好方法是什么?

这样的客户端将使用动态C#对象或字典来表示实体,而不是类型化的实体对象。

哪些现有的库或项目可以用来实现这一点?

该技术的一个应用是开发一个通用的功能测试套件辅助库,该库可用于实现OData服务的测试。

如何在C#中实现动态OData客户端

上面指向odata sdk的指针绝对是一个好的开始。首先,该网站上列出的OData Explorer几乎正是你想要的。它是一个通用的OData服务"浏览器"。

另一种方法(也许更好)是使用Microsoft.Data.OData.dll。它是WCF数据服务的最新CTP的一部分(http://blogs.msdn.com/b/astoriateam/archive/2011/10/13/announcing-wcf-data-services-oct-2011-ctp-for-net-4-and-silverlight-4.aspx)。它是OData的低级读写器。它不能解决URL处理问题,但读取和写入有效负载非常有效。这里有一个用法示例:http://blogs.msdn.com/b/astoriateam/archive/2011/10/14/introducing-the-odata-library.aspx

您只需要一个URL/String Parser,对于更多的深入方法,您可能还想在这里查看一些选项:

http://www.odata.org/developers/odata-sdk