动态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

posted on 2014-04-21 17:02  小S资料屋  阅读(301)  评论(0编辑  收藏  举报