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,可以乎略)
以上是对几个常用请求进行个人记录,如有不正确的还望指教!