webrequest、httpwebrequest、webclient、HttpClient 四个类的区别

一、在 framework 开发环境下:

webrequest、httpwebreques  都是基于Windows Api 进行包装,

webclient 是基于webrequest 进行包装;(经测试不支持实例化静态对象后进行并行请求)

HttpClient  是基于httpwebreques  进行包装;(支持度高,并行)

在 .net 4.5 以上环境支持异步;

二、在 .net Core 2.1 以下环境下:

webrequest、httpwebreques  都是基于 socket  进行包装;

webclient 及 HttpClient  都是基于 webrequest、httpwebreques  进行包装;

三、在 .net Core 2.1 或以上环境下:

httpwebreques  是基于 socket  进行包装;

HttpClient 继承 httpwebreques  进行包装扩展;(推荐使用)

webclient 继承 HttpClient  进行包装扩展;(主要作用为兼容原 windows api,可以乎略)

 

 以上是对几个常用请求进行个人记录,如有不正确的还望指教!

 

posted @ 2018-10-09 10:07  皓月青峰  阅读(530)  评论(0编辑  收藏  举报