2012-01-13 67 views
8

Microsoft提供了一個WCF Data Services Client Library來實現C#中的OData客戶端。該庫的工作原理是創建對OData服務的類型化引用。如何在C#中實現一個動態的OData客戶端?

什麼是在C#中實現OData客戶端的好方法,而無需事先生成類型化的服務接口?換句話說,在C#中實現一個OData客戶端的好方法是什麼,它可以與幾種不同的OData服務一起工作,給定基礎URL和實體名稱爲字符串?

此類客戶端將使用動態C#對象或字典來表示實體,而不是類型化的實體對象。

哪些現有的庫或項目可以用來實現這個?

這種技術的一個應用是開發一個通用的功能測試套件幫助程序庫,可以用來實現OData服務的測試。

回答

7

的指針的OData-SDK以上絕對是一個好開始。對於一個也在該網站上列出的OData Explorer幾乎就是你正在尋找的東西。這是一個通用的OData服務「瀏覽器」。

另一種方法(可能更好)是使用Microsoft.Data.OData.dll。它是WCF數據服務(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

+0

好的指針。謝謝。 – 2012-02-08 13:13:20

1

你需要什麼比一個URL /串分析器對於這一點,更多持續向下鑽取方法,你也可以像在一些選項來看看這裏:

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

+0

感謝您的反饋。我意識到OData可以通過HTTP工作,並且我可以編寫整個分析和請求邏輯,但是我試圖找出是否還有更多專門針對OData的現成,更高級別的庫,同時仍然是動態的,而不是鍵入的。 – 2012-01-13 11:15:40

+0

我提供的鏈接包括varous客戶端示例代碼(Java,Silveright,PHP等),只需向下滾動一下:) 首先,還可以添加服務引用動態匹配;) – Rizwan 2012-01-13 11:18:55