c# - 使用 HttpWebRequest/Response 构建 .NET REST 客户端有什么缺点吗

标签 c# rest httpwebrequest client

我想使用 C# 构建一个 .NET REST 客户端,虽然我在这里阅读了很多关于 REST 的常见做法的帖子,但我无法确定某些事情。我读过很多 REST 客户端示例,其中大部分仅使用 HttpWebRequest/Response 类来发出请求和接收响应。我想问的是,如果我仅以这种方式使用 REST 服务,您认为缺点是什么。我以前没有用过WCF,对它也不是很了解,所以我不能自己做比较。

使用此 REST 客户端,我将获取、更新和发布一些数据到设备。所以,除了开发的难易程度之外,我最关心的是性能。您认为 WCF 中的 HttpClient 会带来有意义的改变吗?

提前致谢..

最佳答案

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

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

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

关于c# - 使用 HttpWebRequest/Response 构建 .NET REST 客户端有什么缺点吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524436/

相关文章:

c# - 现有的 DI 框架使用和 Silverlight

c# - Postman http请求成功,C# HttpWebRequest错误 SSL/TLS安全通道的信任关系

c# - 在默认浏览器中向自定义 URI 发送 POST 请求

c# - 在 Windows 8 中使用 go-between 进行流式传输

c# - 未分配给变量的类实例是否会过早被垃圾回收?

c# - 如何获取 SQL CLR 程序集中发生的异常的堆栈跟踪

sql - 如何使用 ozzo-dbx 包加入 PostgreSQL?

php - MySQL 查询结果有限

javascript - 从 JSON 对象访问 javascript 中的 Enum

c# - 规范流。参数化测试