C#,WebRequest類、HttpWebRequest類與HttpRequest類的區別


 

C#,WebRequest類和HttpWebRequest類的區別?

httpWebRequest是webRequest的子類,httpWebRequest是基於http協議的 .  

HttpWebRequest 是 WebRequest 的實例化使用,單獨的 WebRequest 是不能使用的
在使用HttpWebRequest實例,我們不用使用HttpWebRequest類的構造函數,而是使用WebRequest類提供的靜態方法,然后強制轉換,如:
HttpWebResponse webResponse = (HttpWebResponse) webRequest.GetResponse();

 

 

 

 

 

 

 

HttpRequest 與HttpWebRequest 有什么區別

System.Web.HttpRequest是封裝瀏覽器對服務器的請求的,主要用在ASP.NET中,其中包括瀏覽器請求的網址,查詢字符串數據或表單數據等等 

而System.Net.HttpWebRequest則是用來簡化網絡請求的過程,從服務器上獲取文件/結果的,譬如你可以在代碼中用這個類冒充瀏覽器(設置一個UserAgent)來發請求,處理回應

第一:他們不是父子關系。   
  第二:Syste.Net.HttpWebRequest   類是System.Net.WebRequest抽象類的一個子類,它是   .NET   Framework   的用於訪問   Internet   數據的請求/響應模型的抽象基類。使用該請求/響應模型的應用程序可以用協議不可知的方式從   Internet   請求數據。在這種方式下,應用程序處理   WebRequest   類的實例,而協議特定的子類則執行請求的具體細節。   
  System.Net.HttpWebRequest   類和System.Net.FileWebRequest都繼承了WebRequest   
  1、FileWebRequest   類為使用   file://   方案來請求本地文件的   URI   實現   WebRequest   抽象基類。   
  2、HttpWebRequest   類對   WebRequest   中定義的屬性和方法提供支持,也對使用戶能夠直接與使用   HTTP   的服務器交互的附加屬性和方法提供支持。   
  第三:System.Web.HttpRequest   類使   ASP.NET   能夠讀取客戶端在   Web   請求期間發送的   HTTP   值。HttpRequest   類的方法和屬性通過   HttpApplication、HttpContext、Page   和   UserControl   類的   Request   屬性公開。   
    
  所以使用System.Web.HttpRequest類的時候其實都是利用HttpApplication、HttpContext、Page   和   UserControl   類的   Request   屬性。而使用System.Net.HttpWebRequest類時是為了獲得一個Uri資源。自己創建。 

System.Web 命名空間提供使得可以進行瀏覽器與服務器通信的類和接口。此命名空間包括 HttpRequest 類(用於提供有關當前 HTTP 請求的廣泛信息)、HttpResponse 類(用於管理對客戶端的 HTTP 輸出)以及 HttpServerUtility 類(用於提供對服務器端實用工具與進程的訪問)。System.Web 還包括用於 Cookie 操作、文件傳輸、異常信息和輸出緩存控制的類。 
System.Net 命名空間為當前網絡上使用的多種協議提供了簡單的編程接口。WebRequest 和 WebResponse 類形成了所謂的可插接式協議的基礎,可插接式協議是網絡服務的一種實現,它使您能夠開發出使用 Internet 資源的應用程序,而不必考慮各種不同協議的具體細節。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM