.Net的內建物件之一 Request

weixin_34321977發表於2016-06-24

 一、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

相關文章