【问题标题】:When consuming RESTful APIs, when do you recommend using RestSharp and when HttpClient?使用 RESTful API 时,您建议何时使用 RestSharp 以及何时使用 HttpClient?
【发布时间】:2014-11-18 14:18:10
【问题描述】:

我一直在寻找这个答案,但没有成功。

我一直使用 RestSharp,我觉得它很简洁,但后来意识到有微软提供的 HttpClient,乍一看它似乎涵盖了相同的功能。

(我也听说过 ServiceStack,大多数人似乎更喜欢它而不是其他替代品,但现在支付这么多钱不是一种选择 - 也不是使用旧版本)。

这只是个人喜好的问题,还是使用一种或另一种真的有任何利弊 - 或者,在某些特定情况下,其中一种可能比另一种更适合?

提前致谢!

【问题讨论】:

    标签: .net restsharp dotnet-httpclient


    【解决方案1】:

    正如您推测的那样,很大程度上取决于个人喜好。几点:

    • RestSharp 比 HttpClient 早几年问世,并且在功能和易用性方面远远优于微软当时推出的任何产品。

    • HttpClient 具有严格的异步(如在 async/await 中)API; RestSharp 支持同步和异步调用。但是,除非您被困在较旧的平台和/或支持遗留代码,否则几乎没有充分的理由同步进行 HTTP 调用。 (不要占用等待可能长时间运行的 I/O 的线程!)

    • RestSharp 涵盖了 HttpClient 本身不具备的许多领域,尤其是响应的反序列化。

    在切换到 HttpClient 之前,我使用了 RestSharp 几年(我想要 async/await 支持,据我所知,当时 RestSharp 不支持,但现在支持),最终我编写并发布了自己的小程序库,Flurl.Http,它使用一些流畅的 HTTP/反序列化方法扩展了我的 URL 构建器,这些方法只不过是 HttpClient 和 Json.NET 的瘦包装器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 2015-01-07
      • 2016-09-23
      • 2021-02-09
      • 2019-08-12
      • 1970-01-01
      相关资源
      最近更新 更多