日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WebClient与WebRequest差异

發布時間:2023/12/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WebClient与WebRequest差异 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WebRequst的使用

???? WebClient和HttpWebRequst是用來獲取數據的2種方式,在我的這篇數據訪問(2)中主要是講的WebClient的使用,一般而言,WebClient更傾向于“按需下載”,事實上掌握它也是相對容易的,而HttpWebRequst則允許你設置請求頭或者對內容需要更多的控制,后者有點類似于form中的submit。雖然兩者都是異步請求事件,但是WebClient是基于事件的異步,而HttpWebRequst是基于代理的異步編程,下面就用簡單的需求兩者比較用法上的不同:

??? 需求很簡單,獲取Web端的圖片然后顯示出來,結構如右邊所示

?

UI很簡單: <StackPanel Background="White"> <Button Width="250" Content="HttpWebRequest" Click="Button_Click" /> <Button Width="250" Content="Click for request with WebClient" Click="Button_Click_1" /> <TextBox Text="1" x:Name="numTextBox" Width="20" /> <Image Height="150" Name="image1" Stretch="Fill" Width="200" /> </StackPanel>

? 頁面上提供一個TextBox用來輸入文件名的,先看一看WebClient獲取圖片并顯示在Image的過程

//使用WebClient private void Button_Click_1(object sender, RoutedEventArgs e) { string baseUri = String.Format("http://localhost:49280/Images/{0}.jpg", this.numTextBox.Text.Trim()); Uri uri = new Uri(baseUri, UriKind.Absolute); WebClient client = new WebClient(); client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted); } void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e) { Stream stream = e.Result; BitmapImage bitmap = new BitmapImage(); bitmap.SetSource(stream); this.image1.Source = bitmap; }

因為之前已經對WebClient總結過了,所以就不再重復了,主要是看一看WebRequst如果要實現相同的代碼的過程

//使用WebRequest private void Button_Click(object sender, RoutedEventArgs e) { string baseUri =String.Format("http://localhost:49280/Images/{0}.jpg",this.numTextBox.Text.Trim()); HttpWebRequest request =(HttpWebRequest) WebRequest.Create(baseUri); request.Method = "GET"; request.BeginGetResponse(new AsyncCallback(ReadCallback), request); } public void ReadCallback(IAsyncResult asyc) { HttpWebRequest request = (HttpWebRequest)asyc.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyc); this.Dispatcher.BeginInvoke(() => { Stream stream = response.GetResponseStream(); BitmapImage bitmap = new BitmapImage(); bitmap.SetSource(stream); this.image1.Source = bitmap; } ); }

幾點需要注意的地方: 1,HttpWebRequest是個抽象類,所以無法new的,需要調用HttpWebRequest.Create();

??????????????????????????? 2,其Method指定了請求類型,這里用的GET,還有POST;也可以指定ConentType;

??????????????????????????? 3,其請求的Uri必須是絕對地址;

??????????????????????????? 4,其請求是異步回調方式的,從BeginGetResponse開始,并通過AsyncCallback指定回調方法;

??????????????????????????? 5,因為其回調不是UI線程,所以不能直接對UI進行操作,這里使用Dispatcher.BeginInvoke()

主要是第4點,如果把上面的代碼中回調方法改成這樣下面的樣子的話,VS會提示跨域線程訪問無效

HttpWebRequest request = (HttpWebRequest)asyc.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyc); Stream stream=response.GetResponseStream(); BitmapImage bitmap = new BitmapImage(); bitmap.SetSource(stream); this.image1.Source = bitmap;

轉載于:https://www.cnblogs.com/626498301/archive/2010/08/13/1798662.html

總結

以上是生活随笔為你收集整理的WebClient与WebRequest差异的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品黑人| 床戏高潮呻吟声片段 | 成人精品免费在线观看 | 欧美日韩三级视频 | 欧美黑人又粗又大的性格特点 | 国产a区| 中文字幕乱码在线观看 | 日韩一级免费视频 | 欧美性猛交xx乱大交 | 国内精品久久久久久久久久 | 欧美呦呦呦 | 欧美精品成人一区二区三区四区 | 91国在线啪 | 丁香婷婷综合激情 | 国产精品第二页 | 一区二区免费在线视频 | 91玉足脚交白嫩脚丫 | 欧美日韩精品 | 一级黄色大片免费观看 | 3d动漫精品啪啪一区二区竹菊 | 亚洲无码精品一区二区三区 | 国产色诱视频 | 亚洲免费区| 六月丁香婷婷综合 | 黄色无遮挡网站 | 午夜福利123 | 夜夜骑夜夜操 | 免费一区二区三区四区 | 亚洲永久精品视频 | 国产永久免费视频 | 欧美精品色哟哟 | 久久久久久久久久久久久久久久久久久 | 最新日韩中文字幕 | 日本少妇xxxxxx| 国产精品三级在线观看 | 亚洲影院一区二区三区 | 99热这里只有精品7 青青草社区 | 国产精品人八做人人女人a级刘 | 色婷婷综合久久久久中文 | 国产精品伦子伦免费视频 | 别揉我奶头一区二区三区 | 在线黄色免费网站 | 欧洲mv日韩mv国产 | 制服丝袜快播 | 国产一区精品无码 | 永久免费不卡在线观看黄网站 | 肉肉视频在线观看 | 日韩av综合| 卡一卡二视频 | 超碰成人在线免费观看 | 天天爱天天操 | 亚洲一区二区中文字幕 | 91麻豆免费看| 久久精品偷拍视频 | 欧美亚洲丝袜 | 神宫寺奈绪一区二区三区 | 香蕉视频免费在线看 | 可以免费看av的网址 | 久久久精品视 | 99re视频这里只有精品 | 男人天堂手机在线观看 | 日本不卡久久 | 国产激情图片 | 在线观看免费成人 | 亚洲国产成人精品视频 | 人人干人人爽 | 日韩第一视频 | 欧美一区二区福利视频 | 亚洲av永久无码精品放毛片 | 狠狠久| 国产一二三区在线视频 | 中日韩av电影 | 97国产精品人人爽人人做 | 男人天堂中文字幕 | 成人无码精品1区2区3区免费看 | 一级国产黄色片 | 欧美乱码精品 | 欧美亚洲视频在线观看 | www.com亚洲 | 免费看国产视频 | 国产 日韩 欧美 综合 | 少妇被按摩师摸高潮了 | 可以在线观看的黄色 | 丁香花五月 | 亚洲熟妇国产熟妇肥婆 | 亚洲精品久久久 | 国产性―交一乱―色―情人 | 日韩av中文字幕在线免费观看 | 国产6区 | 嫩草视频入口 | 日本不卡网 | www三级免费 | 国产精品一二三四 | 国产熟妇久久777777 | 四虎永久在线视频 | 妖精视频一区二区三区 | 久久久久久久香蕉 | 日韩成人影视 | 亚洲综合一区二区 |