OSS.Http項(xiàng)目對(duì)于.Net Standard標(biāo)準(zhǔn)庫(kù)的支持已經(jīng)遷移完畢,OSS開(kāi)源系列兩個(gè)最底層的類庫(kù)已經(jīng)具備跨運(yùn)行時(shí)支持的能力。由于OSS.Http類庫(kù)是幾年前我參照RestSharp的思路,完成的一個(gè)輕量型Http請(qǐng)求框架。因?yàn)闀r(shí)間較久底層使用的還是HttpWebRequest,這次基本上是完全重構(gòu),這篇文章主要包含 1. HttpClient的介紹,2. 重構(gòu)的思路, 3. 容易遇到的問(wèn)題。
一. httpclient的基本介紹
HttpClient應(yīng)該是在.net framework4.5版本左右引用的新功能,在此之前常用的是HttpWebRequest,相比較而言,前者更加的簡(jiǎn)單清晰,最重要的是完全支持.net standard API,這也是我選擇它的重要原因。
HttpClient在結(jié)構(gòu)上做了很大的調(diào)整,并且是完全異步的實(shí)現(xiàn),可以說(shuō)從底層上完成了異步的支持,這里先介紹對(duì)應(yīng)的幾個(gè)主要類:
1. HtttpRequestMessage
請(qǐng)求的基本信息,請(qǐng)求地址,請(qǐng)求動(dòng)作等,此值是在HttpClient發(fā)起請(qǐng)求的方法中當(dāng)參數(shù)傳入,與他對(duì)應(yīng)的是響應(yīng) HttpResponseMessage