天天看點

.Net的内置對象之一 Request

 一、Request簡介

    Request對象是.net的内置對象之一,也是.net中常用的對象,用于擷取用戶端的資訊,可以使用Request對象通路任何基于HTTP請求傳遞的所有資訊。通過Request對象能夠獲得用戶端發送給伺服器的資訊,不能将伺服器端的資料發送給用戶端的浏覽器。

二、Request對象的作用

    對于.net的内置對象之一Request,我将其在應用程式中所發揮的作用分為兩種,第一種是通過Request對象,可以在伺服器端擷取目前通路該伺服器的用戶端(浏覽器)的一些資料資訊,第二種是在伺服器端可以擷取從html表單中用post或get方法傳遞的參數,當然也包括使用Ajax的post和get方法傳遞的參數。接下來我将結合執行個體對這兩種作用進行一一概述。

通過Request,在伺服器端擷取用戶端(浏覽器)的資料資訊

Request.UserHostAddress;       擷取用戶端的主機IP位址

Request.UserHostName;      擷取用戶端的DNS名稱

Request.Url.Authority;       擷取DNS主機名或IP和端口号            ------>localhost:4035

Request.RawUrl:           擷取用戶端請求的URL資訊(不包括主機和端口)  ------>/a/Default2.aspx 

Request.ApplicationPath:      擷取伺服器上ASP.NET應用程式的虛拟路徑。    ------>/ 

Request.CurrentExecutionFilePath: 擷取目前請求的虛拟路徑。            ------>/Default2.aspx 

Request.Path:            擷取目前請求的虛拟路徑。            ------>/Default2.aspx 

Request.PathInfo:          取具有URL擴充名的資源的附加路徑資訊      ------> Http://so.com/page.html/tail,則值為 /tail

Request.PhysicalPath:        擷取與請求的URL相對應的實體檔案系統路徑。   ------>E:\temp\Default2.aspx 

Request.Url :             擷取完整url(協定名+域名+站點名+檔案名+參數) ------>http://www.baidu.com/a/b?c=1  

Request.Url.Host :         擷取域名 (不包含端口)             ------>www.baidu.com 

Request.Url.Query :         擷取參數(從?開始)              ------> ?a=1&b=2

Request.Url.LocalPath:       站點名+檔案名                 ------>/Default2.aspx 

Request.Url.AbsoluteUri:      擷取基本url(不包含參數)            ------>http://localhost:8080/Default2.aspx 

Request.Url.AbsolutePath:     站點名+檔案名                 ----->/Default2.aspx  

在使用Request時需要注意的是,比如想在另一個類庫中擷取目前request的資訊,那麼就需要将該Request通過參數傳遞到該類庫中的某一個方法中,接收該參數的類型需使用HttpRequestBase。

參考文章:

http://www.cnblogs.com/190196539/archive/2011/12/13/2286072.html

http://blog.csdn.net/nc_star/article/details/51741007

繼續閱讀