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