3

有使用 WCF 数据服务(ADO.NET 数据服务)的 OData 服务可用。我需要以编程方式使用 OData 服务。从某种意义上说,我不想使用 DataSvcUtil 创建代理。相反,在运行时我需要生成 OData 代理。

对于 WSDL,可以使用 CodeDOM 和 System.ServiceModel.Discovery 生成代理。

我很想知道是否有任何生成 OData 代理的编程方式。

谢谢

4

1 回答 1

6

DataSvcUtil 使用这个类http://msdn.microsoft.com/en-us/library/system.data.services.design.entityclassgenerator_members.aspx来生成代码。所以你也可以这样做。生成源代码后,在其上调用编译器(我认为 CodeDOM 也可以这样做)并加载结果 dll。它需要一个 XmlReader,因此您必须从服务的 $metadata 端点创建一个 XmlReader,但这非常简单。

于 2010-08-24T01:10:45.773 回答