HttpClient 与 HttpWebRequest

2024-01-23

我有一个大文件,我必须将其发送到 Web api 客户端...数据是多部分的。 问题是,如果文件是通过 http Web 请求发送的,那么它会在 webapi 上快速上传。对于此请求,文件内容直接写入请求流。

就好像通过 Httpclient (.net 4.5) 发送相同的文件一样,与 http Web 请求相比,上传速度很慢。我在 Httpclient 异步后使用 multipartformdatacontent。

那么,对于大文件,我们是否只能使用Web请求呢?或者 Httpclient 上是否有任何设置可以使上传速度更快?


HttpClient更像是一个无头浏览器。如果您要创建许多 http 请求,它是一个强大且理想的工具。例如,您可以设置默认标题和内容。以下是它与普通版的 5 个主要区别:HttpWebRequest这是取自here http://web.archive.org/web/20190801120635/https://blogs.msdn.microsoft.com/henrikn/2012/02/16/httpclient-is-here/

  1. HttpClient 实例是配置扩展、设置默认标头、取消未完成请求等的地方。
  2. 您可以通过单个 HttpClient 实例发出任意数量的请求。
  3. HttpClient 不依赖于特定的 HTTP 服务器或主机;您可以使用同一个 HttpClient 实例提交任何 HTTP 请求。
  4. 您可以从 HttpClient 派生来为特定站点或模式创建专用客户端
  5. HttpClient 使用新的面向任务的模式来处理异步请求,从而使管理和协调多个未完成的请求变得更加容易。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HttpClient 与 HttpWebRequest 的相关文章

随机推荐