北大荒建设集团有限公司网站中原彼得堡航空学院网站的建设
web/
2025/9/30 12:11:31/
文章来源:
北大荒建设集团有限公司网站,中原彼得堡航空学院网站的建设,如何解压缩wordpress,网站编程学习NETCore提供了三种不同类型用于生产的REST API#xff1a; HttpWebRequest;WebClient;HttpClient#xff0c;开源社区创建了另一个名为RestSharp的库。如此多的http库#xff0c;该怎样选择呢#xff1f;01HttpWebRequest这是.NET创建者最初开发用于使用HTTP请求的标准类。… NETCore提供了三种不同类型用于生产的REST API HttpWebRequest;WebClient;HttpClient开源社区创建了另一个名为RestSharp的库。如此多的http库该怎样选择呢01HttpWebRequest这是.NET创建者最初开发用于使用HTTP请求的标准类。使用HttpWebRequest可以让开发者控制请求/响应流程的各个方面如 timeouts, cookies, headers, protocols。另一个好处是HttpWebRequest类不会阻塞UI线程。例如当您从响应很慢的API服务器下载大文件时您的应用程序的UI不会停止响应。然而强大的个性化操作带来了极大的复杂性。为了简单起见GET您需要至少五行代码;HttpWebRequest http (HttpWebRequest)WebRequest.Create(http://example.com); WebResponse response http.GetResponse(); Stream stream response.GetResponseStream(); using (var streamtemn File.Create(路径)) { stream.CopyTo(streamtemn); }如果对http协议不是了如指掌使用HttpWebRequest会增加你的开发成本除非你需要非常细节的处理和底层的控制另外HttpWebRequest库已经过时不适合业务中直接使用他更适用于框架内部操作。02WebClientWebClient是一种更高级别的抽象是HttpWebRequest为了简化最常见任务而创建的使用过程中你会发现他缺少基本的headertimeoust的设置不过这些可以通过继承httpwebrequest来实现。使用WebClient可能比HttpWebRequest直接使用更慢大约几毫秒。但这种“低效率”带来了巨大的好处它需要更少的代码和隐藏了细节处理更容易使用并且在使用它时你不太可能犯错误。同样的请求示例现在很简单只需要两行而且内部周到的处理完了细节using (WebClient webClient new WebClient()) { webClient.DownloadFile(http://example.com, 路径); }03HttpClientHttpClient提供强大的功能提供了异步支持可以轻松配合async await 实现异步请求具体使用可参考NetCore 2.1中的HttpClientFactory最佳实践04RestSharprestsharp是开源社区贡献具有HttpWebRequest的细节控制和WebClient的使用简单的优点从而让他功能强大的同时又简化了操作(从他定义的接口可以看出真是一个优秀的http库啊?)05结论参考https://stackoverflow.com/questions/22791376/is-httpwebrequest-or-webclient-faster/22792326#22792326https://stackoverflow.com/questions/20530152/deciding-between-httpclient-and-webclienthttps://social.msdn.microsoft.com/Forums/vstudio/en-US/2ce80a71-1ced-4bcd-adb4-88eef6e6a42d/httpclient-vs-httpwebrequest?forumwcf
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84442.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!