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