日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
全面分析VB.NETWEB應(yīng)用

在向大家詳細(xì)介紹VB.NET之前,首先讓大家了解下VB.NET WEB。大家都知道WebRequest 和 WebResponse是兩種我們?cè)L問Internet常用的類,嚴(yán)格說,WebRequest是一個(gè)抽象基類,我們一般用它的衍生類 HttpWebRequest 以及 FileWebRequest,F(xiàn)TP的訪問需要手動(dòng)注冊(cè),具體看后面的插入?yún)f(xié)議。

平遙網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,平遙網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為平遙1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的平遙做網(wǎng)站的公司定做!

#T#從邏輯角度上講,Net classes 包含三個(gè)層:請(qǐng)求/響應(yīng)層、應(yīng)用協(xié)議層和傳輸層,依次展開,從應(yīng)用程序到網(wǎng)絡(luò)。WebRequest 和 WebResponse 類代表請(qǐng)求/響應(yīng)層。HTTP、TCP 和 UDP 類組成了應(yīng)用協(xié)議層,而套接字存在于傳輸層中。WebRequest/WebResponse 和 HTTP 可以在 System.Net 名稱空間中找到,而 TCP/UDP 和套接字則處在 System.Net.Sockets 名稱空間中,包括也常用的UDPClient、TCPCLient。

WebRequest 和 WebResponse(請(qǐng)求/響應(yīng)模型)
請(qǐng)求/響應(yīng)模型位于頂部,提供一種簡(jiǎn)單的方式訪問 VB.NET WEB上的資源。WebRequest 是 .NET 框架的用于訪問 Internet 數(shù)據(jù)的請(qǐng)求/響應(yīng)模型的抽象基類。使用該請(qǐng)求/響應(yīng)模型的應(yīng)用程序可以用協(xié)議不可知的方式從 Internet 請(qǐng)求數(shù)據(jù),什么意思?就是協(xié)議不具體。

這兩種類提供了一種訪問網(wǎng)上資源的一般方式。WebRequest 表示一個(gè)網(wǎng)絡(luò)請(qǐng)求,包含諸如 RequestURI、Headers、Credentials 和 ContentType 等屬性。WebRequest 上的主要方法有 GetRequestStream、GetResponse 以及它們的異步方法Begin/EndGetRequestStream 和 Begin/EndGetResponse。 GetRequestStream 用于獲取流以便將數(shù)據(jù)上載到服務(wù)器。GetResponse 用于獲取服務(wù)器返回的響應(yīng)對(duì)象。WebResponse 表示從處理該請(qǐng)求的服務(wù)器接收回的響應(yīng)。其關(guān)鍵屬性有 ContentLength、ContentType、headers、ResponseURI 和 Status。WebResponse 上最常用的方法是 GetResponseStream,它用于從服務(wù)器讀?。ㄏ螺d)數(shù)據(jù)。

當(dāng)對(duì) WebRequest.GetResponse 進(jìn)行調(diào)用時(shí),通常發(fā)出實(shí)際的網(wǎng)絡(luò)請(qǐng)求。

這個(gè)示例顯示如何獲取一個(gè) VB.NET WEB 頁并將其內(nèi)容輸出:

 
 
  1. Dim url As New Uri("http://www.yahoo.com") ‘定義一個(gè)URI
  2. Dim Req As WebRequest
  3. Req = WebRequest.Create(url)
  4. Dim Resp As WebResponse
  5. Try
  6. Resp = Req.GetResponse ‘獲得一個(gè)響應(yīng)
  7. Catch exc As Exception
  8. MsgBox(exc.Message)
  9. End Try
  10. Dim netStream As StreamReader
  11. netStream = New StreamReader(Resp.GetResponseStream)
  12. Debug.WriteLine(netStream.ReadToEnd)

當(dāng)然,上面的例子只是一個(gè)簡(jiǎn)單的操作,可以返回一個(gè)流式的數(shù)據(jù)。下面充分挖掘一下它們的優(yōu)勢(shì)(與WebClient相比)。

可插入?yún)f(xié)議
當(dāng)某個(gè)應(yīng)用程序僅僅使用 WebRequest 和 WebResponse 類時(shí),無需修改應(yīng)用程序的任何代碼就可以“插入”和使用新的協(xié)議。注冊(cè)一個(gè)帶 WebRequestFactory 的 URI 模式在程序的持續(xù)時(shí)間內(nèi)插入?yún)f(xié)議支持。注冊(cè)是通過調(diào)用 WebRequestFactory.Register() 方法完成的。對(duì)于 HTTP 協(xié)議,這種方法是從內(nèi)部調(diào)用的,因此它被默認(rèn)注冊(cè);盡管如此,在將來可以實(shí)現(xiàn)和注冊(cè)任意數(shù)目的其他協(xié)議。當(dāng)然,由于 Internet 上的協(xié)議數(shù)量巨大,這種模型并不是對(duì)所有的情況都理想。那些“饒舌”的或另外排斥請(qǐng)求/響應(yīng)模型的協(xié)議可能會(huì)在 TCP 或 UDP 類中更好地執(zhí)行,或者在某些情況下會(huì)在 Sockets 類中更好地執(zhí)行。有關(guān)HTTP方面的操作我們可以使用HttpWebRequest。

下面說明幾個(gè)具體問題:

1. 程序分塊

當(dāng)應(yīng)用程序需要發(fā)送或接收數(shù)據(jù),而數(shù)據(jù)的準(zhǔn)確大小在下載/ 上載開始時(shí)還未知時(shí),程序分塊是有用的。當(dāng)基于其他應(yīng)用程序或服務(wù)器邏輯正在創(chuàng)建所討論的數(shù)據(jù)時(shí),使用程序分塊技術(shù)是最普遍的。要發(fā)送分塊的數(shù)據(jù),應(yīng)該將 WebRequest 轉(zhuǎn)換為 HttpWebRequest 并且將 HttpWebRequest.SendChunked 的屬性設(shè)置為TRUE。如果直接用HttpWebRequest自然就免了:)

2.HTTP 管道技術(shù)

管道技術(shù)是 HTTP 1.1 的一項(xiàng)功能,它允許 Net classes 通過持久性連接向后端服務(wù)器發(fā)送多個(gè) HTTP 請(qǐng)求,而無需在發(fā)出下次請(qǐng)求之前等待來自服務(wù)器的響應(yīng)。這會(huì)顯著影響性能,因?yàn)閺姆?wù)器請(qǐng)求多個(gè)資源的應(yīng)用程序不會(huì)被阻塞而等待某個(gè)特定資源(可能是服務(wù)器上一個(gè)非常耗時(shí)的操作,如數(shù)據(jù)庫查找)。

3. 身份驗(yàn)證
Net classes 支持各種客戶機(jī)身份驗(yàn)證機(jī)制,包括“摘要”、“基本”、Kerberos、NTLM 和“定制”。身份驗(yàn)證是通過在作出請(qǐng)求前對(duì) WebRequest.Credentials 對(duì)象進(jìn)行設(shè)置來達(dá)到的。在“摘要”和“基本”情況下,會(huì)指定用戶名和口令。對(duì)于 NTLM 或 Kerberos,則使用 Windows 安全機(jī)制,并且 Credential 對(duì)象或者可以被設(shè)置為用戶名、口令和域的結(jié)合,或者可以請(qǐng)求使用系統(tǒng)默認(rèn)值。

4.代理支持
在 Net classes 中的 HTTP 代理支持可以在每個(gè)請(qǐng)求的基礎(chǔ)上進(jìn)行控制,或者可以一次全局性地設(shè)置它,用于應(yīng)用程序的生存期。這樣似乎就可以驗(yàn)證Proxy是不是免費(fèi);)


網(wǎng)站標(biāo)題:全面分析VB.NETWEB應(yīng)用
鏈接URL:http://www.5511xx.com/article/djdshph.html