webclientt和httpwebrequest
WebClientt和HttpWebRequest訪問遠程數據
HttpWebRequest類是WebRequest類的一個子類,用于發送HTTP請求,請求返回結果用HttpResponse類表示;
?
WebClient類是Sliverlight中另一個可用于發送HTTP請求的類,實際上是基于WebRequest類實現的,可以將它看做是HttpWebRequest的一個高級封裝。
?
大部分HTTP訪問二者都可以實現,但不同的是:
1.HttpWebRequest使用基于代理的異步編程模型,WebClient使用基于事件的異步編程模型,基于事件的編程模型使用起來通常更為方便。
2.HTTP響應返回引發的WebClient回調是在UI線程中調用的,而HttpWebRequest回調是在其他線程中調用的,UI線程中的回調可以直接操作UI元素、更新UI,而其他線程中的回調則必須通過線程調用才能操作UI。因而WebClient更適合需要更新UI的場景。
3.WebClient類內置了一系列的事件,可以用來監視數據的上傳/下載進度并反饋給應用程序;HttpWebRequest則不具備此功能。
4.相對而言,HttpWebRequest更為底層,可以實現對HTTP請求信息更為靈活的控制,而HttpWebRequest對一些高級HTTP請求可能無能為力。
?
WebClient類常用方法
DownloadStringAsync/UploadStringAsync,以字符串形式下載/上傳數據
OpenReadAsync/OpenWriteAsync,以流形式下載/上傳數據
以上4個方法對應相應的異步操作完成事件:DownloadStringCompleted、UploadStringCompleted、OpenReadCompleted和OpenWriteCompleted。
?
HttpWebRequest類常用方法
BeginGetRequestStream/EndGetRequestStream,開始/結束對提供請求數據流的異步請求。
BeginGetResponse/EndGetReponse,開始/結束對遠程數據的異步請求。
轉載于:https://www.cnblogs.com/hxxy2003/archive/2012/07/21/2603067.html
總結
以上是生活随笔為你收集整理的webclientt和httpwebrequest的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Perl 教学 Perl5中的引用(指针
- 下一篇: 做好PM的几个要素