C# 使用HttpWebRequest/Response构建.NETREST客户端有什么缺点吗
我想用C#构建一个.NETREST客户端,虽然我在这里读了很多关于REST的常见实践的文章,但我还是不能确定一些事情。我已经阅读了很多REST客户机示例,其中大多数只是使用HttpWebRequest/Response类来发出请求和接收响应。我想问的是,如果我仅仅以这种方式使用REST服务,您认为它的缺点是什么。我以前没有使用过WCF,我也不太了解它,所以我自己无法进行比较 使用这个REST客户端,我将获取、更新、向设备发布一些数据。因此,除了开发的简单性或复杂性之外,我最关心的是性能。您认为WCF中的HttpClient会产生有意义的变化吗C# 使用HttpWebRequest/Response构建.NETREST客户端有什么缺点吗,c#,rest,httpwebrequest,client,C#,Rest,Httpwebrequest,Client,我想用C#构建一个.NETREST客户端,虽然我在这里读了很多关于REST的常见实践的文章,但我还是不能确定一些事情。我已经阅读了很多REST客户机示例,其中大多数只是使用HttpWebRequest/Response类来发出请求和接收响应。我想问的是,如果我仅仅以这种方式使用REST服务,您认为它的缺点是什么。我以前没有使用过WCF,我也不太了解它,所以我自己无法进行比较 使用这个REST客户端,我将获取、更新、向设备发布一些数据。因此,除了开发的简单性或复杂性之外,我最关心的是性能。您认为W
Thx提前…我认为不会有显著的性能差异。然而,通过简单地使用HttpWebRequest和Response,您将得到非常复杂的代码。对于小型应用程序来说,这是可以的,但是对于更高级的应用程序,您很快就会得到无法维护的代码。使用这种原始方法,您需要自己实现REST哲学。相反,WCF已经为您准备好了,您只需要关注您的应用程序。WCF REST初学者工具包中的HttpClient基于HttpWebRequest和HttpWebResponse。它对WCF的唯一依赖性是与扩展Dll中的HttpContent扩展方法 我建议使用Microsoft.Http.HttpClient,因为它为正确执行Http添加了大量功能。所有HTTP头都有包装器。HttpContent类负责从请求和响应流进行读写。它将缓冲响应,以便您可以多次读取响应。它支持使异步调用变得更容易
如果您遵循使用扩展方法转换为本机数据格式的模式,您会发现该库非常容易使用。WCF在客户端没有“实现REST理念”的功能。不过,HttpClient确实使正确使用HTTP变得更容易。但是,您可以对任何REST接口使用HttpClient,不需要WCF。