動態REST客戶端代理與DLR

介紹
當我遇到我想要探索或者是集成到一個應用程序,一個有趣的REST Web服務,即需要做的第一件事是創建一堆包裝類的都出了HTTP通信,使該服務的肉能被調用。這通常看起來像這樣:

閱讀API文檔
看着預先提供的。 NET庫(如果有的話) ,並決定它不適合編程模型的其他部分,所以寫一個包裝
創建一些服務類,以反映該API的端點
創建一批POCO對象來表示數據來回
反覆折騰,對於一個位,直到數據流
其實做一些有趣的API
即使像RestSharp和Json2CSharp偉大的工具,我總是發現自己寫了很多樣板代碼越來越下降的樂趣之前。

這個小項目的前身是我無聊的樣板,再加上探索動態語言運行時(DLR )的慾望。其結果是圍繞RestShap RestClient的公約爲基礎的動態代理(它處理所有的HTTP) ,可以很容易地與REST服務進行交互以最小的啓動開銷。

背景
其基本前提是RestProxy是DynamicObject的轉換屬性和方法調用到RestRequests 。一個DyanmicObject產生它的成員在運行時,它的這種能力被用來建立請求並執行它。

動態對象的一個缺點是缺乏智能感知的,因爲IDE不知道對象已經或將會有哪些成員。它給人的感覺更像的JavaScript比C# 。


轉至:http://www.dfwlt.com/forum.php?mod=viewthread&tid=359


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章