2009-10-06 20 views
2

我想使用C#构建.NET REST客户端,尽管我在此处阅读大量有关REST常见实践的帖子,但我无法确定关于某事。我读过很多REST客户端示例,其中大多数仅使用HttpWebRequest/Response类来发出请求并接收响应。我想问的是,如果我简单地使用REST服务,那么您认为缺点是什么?我之前没有使用过WCF,我也没有太多的想法,所以我不能自己做比较。是否存在使用HttpWebRequest/Response构建.NET REST客户端的任何缺点

使用这个REST客户端,我将获取,更新,发布一些数据到设备。所以,除了开发的简单性或复杂性之外,我最关心的是性能。你认为WCF中的HttpClient会产生有意义的改变吗?

Thx提前..

回答

3

WCF REST入门工具包中的HttpClient基于HttpWebRequest和HttpWebResponse。它对WCF的唯一依赖是扩展Dll中的HttpContent扩展方法。

我建议使用Microsoft.Http.HttpClient,因为它可以正确地进行HTTP添加大量的功能。所有的HTTP头都有包装器。 HttpContent类负责从请求和响应流中读取和写入数据。它会缓冲响应,以便您可以多次读取响应。它支持使异步调用更容易。

如果您遵循使用扩展方法转换为原生数据格式的模式,您会发现该库非常易于使用。

-1

我不认为会有显着的性能差异。但是,通过简单地使用HttpWebRequest和Response,您将最终得到非常复杂的代码。对于小型应用程序来说,它会好的,但对于更高级的应用程序,您将很快以不可维护的代码结束。使用这种原始方法,您将需要自己实现REST哲学。相反,WCF已经为你准备好了,你只需要关注你的应用程序。

+0

好吧,明白了。谢谢:) – aslisabanci

+0

WCF在客户端没有做任何事情来“实施REST理念”。尽管如此,HttpClient确实使HTTP更容易。但是,您可以对任何REST接口使用HttpClient,WCF不是必需的。 –

相关问题