自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C# WebClient類深入剖析

開發(fā) 后端
這里介紹C# WebClient類處于System.Net名字空間中,該類的主要功能是提供向URI標(biāo)識(shí)的資源發(fā)送數(shù)據(jù)和從URI標(biāo)識(shí)的資源接收數(shù)據(jù)的公共方法。

C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C# WebClient類,包括介紹FileStream類等方面。

本文通過一個(gè)實(shí)例向大家介紹用Visual C#進(jìn)行Internet通訊編程的一些基本知識(shí)。我們知道.Net類包含了請(qǐng)求/響應(yīng)層、應(yīng)用協(xié)議層、傳輸層等層次。在本程序中,我們運(yùn)用了位于請(qǐng)求/響應(yīng)層的WebRequest類以及C# WebClient類等來實(shí)現(xiàn)高抽象程度的Internet通訊服務(wù)。本程序的功能是完成網(wǎng)絡(luò)文件的下載。

實(shí)現(xiàn)原理:

程序?qū)崿F(xiàn)的原理比較簡(jiǎn)單,主要用到了C# WebClient類和FileStream類。其中C# WebClient類處于System.Net名字空間中,該類的主要功能是提供向URI標(biāo)識(shí)的資源發(fā)送數(shù)據(jù)和從URI標(biāo)識(shí)的資源接收數(shù)據(jù)的公共方法。我們利用其中的DownloadFile()方法將網(wǎng)絡(luò)文件下載到本地。然后用FileStream類的實(shí)例對(duì)象以數(shù)據(jù)流的方式將文件數(shù)據(jù)寫入本地文件。這樣就完成了網(wǎng)絡(luò)文件的下載。

實(shí)現(xiàn)步驟:

首先,打開Visual Studio.Net,新建一個(gè)Visual C# Windows應(yīng)用程序的工程,不妨命名為"MyGetCar"。接著,布置主界面。我們先往主窗體上添加如下控件:兩個(gè)標(biāo)簽控件、兩個(gè)文本框控件、一個(gè)按鈕控件以及一個(gè)狀態(tài)欄控件。完成主窗體的設(shè)計(jì),我們接著完成代碼的編寫。

在理解了基本原理的基礎(chǔ)上去完成代碼的編寫是相當(dāng)容易。程序中我們主要用到的是C# WebClient類,不過在我們調(diào)用C# WebClient類的實(shí)例對(duì)象前,我們需要用WebRequest類的對(duì)象發(fā)出對(duì)統(tǒng)一資源標(biāo)識(shí)符(URI)的請(qǐng)求。

  1. try  
  2. {  
  3. WebRequest myre=WebRequest.Create(URLAddress);  
  4. }  
  5. catch(WebException exp)  
  6. {  
  7. MessageBox.Show(exp.Message,"Error");  

這是一個(gè)try-catch語句,try塊完成向URI的請(qǐng)求,catch塊則捕捉可能的異常并顯示異常信息。其中的URLAddress為被請(qǐng)求的網(wǎng)絡(luò)主機(jī)名。

在請(qǐng)求成功后,我們就可以運(yùn)用C# WebClient類的實(shí)例對(duì)象中的DownloadFile()方法實(shí)現(xiàn)文件的下載了。其函數(shù)原型如下:

  1. public void DownloadFile( string address, string fileName); 

其中,參數(shù)address為從中下載數(shù)據(jù)的 URI,fileName為要接收數(shù)據(jù)的本地文件的名稱。之后我們用OpenRead()方法來打開一個(gè)可讀的流,該流完成從具有指定URI的資源下載數(shù)據(jù)的功能。其函數(shù)原型如下:

  1. public Stream OpenRead(string address); 

其中,參數(shù)address同上。***就是新建一個(gè)StreamReader對(duì)象從中讀取文件的數(shù)據(jù),并運(yùn)用一個(gè)while循環(huán)體不斷讀取數(shù)據(jù),只到讀完所有的數(shù)據(jù)。

【編輯推薦】

  1. C# this關(guān)鍵字詳解
  2. C#調(diào)用析構(gòu)方法詳解
  3. C#釋放托管資源簡(jiǎn)單描述
  4. C#單路代理簡(jiǎn)單分析
  5. C#文法產(chǎn)生式概述
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-11 11:09:36

C#引用類型

2009-09-07 14:29:52

C# ServiceC

2009-09-02 13:36:58

C#實(shí)現(xiàn)多個(gè)接口

2009-09-04 17:56:22

C#刪除數(shù)據(jù)

2009-09-03 15:03:27

C#實(shí)現(xiàn)AOP微型框架

2009-09-03 17:42:07

C#開發(fā)CF藍(lán)牙模塊

2009-09-04 17:49:34

C#連接數(shù)據(jù)庫

2010-02-04 13:45:36

C++類模板

2009-09-07 13:42:56

C# Pop3類

2009-08-27 17:14:36

C# Socket

2010-06-28 16:54:49

UML類圖關(guān)系

2009-09-01 16:29:03

QuickSort C

2024-12-16 00:50:56

2010-02-06 16:05:51

C++ Vector

2009-09-01 11:04:59

C#調(diào)用擴(kuò)展方法

2009-09-11 11:17:04

C#引用類型

2009-08-27 16:29:18

C#動(dòng)態(tài)編譯

2010-06-29 12:55:44

UML類圖依賴關(guān)系

2009-08-28 10:44:46

C#字符數(shù)組轉(zhuǎn)換

2009-09-18 10:00:17

C#數(shù)組操作
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)