網站在伺服器磁碟上的實體路徑: HttpRuntime.AppDomainAppPath
虛擬程式路徑: HttpRuntime.AppDomainAppVirtualPath
任何於Request/HttpContext.Current等相關的方法, 都只能在有請求上下文或頁面時使用. 即在無請求上下文時,HttpContext.Current為null. 而上面提到的方法一直可用.
對於全域Cache物件的存取亦然.
================================================== ==================================
範例:輸出asp.net 網站路徑。
private void responseHtml()
...{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(string.Format("當前時間: {0}", Server.HtmlEncode(DateTime.Now.ToString())));
sb.Append("
");
sb.Append(string.Format("目前請求的虛擬路徑: {0}",Server.HtmlEncode(Request.CurrentExecutionFilePath)));
sb.Append("
");
sb.Append(string.Format("取得目前應用程式的根目錄路徑: {0}", Server.HtmlEncode(Request.ApplicationPath)));
sb.Append("
");
sb.Append(string.Format("目前請求的虛擬路徑: {0}",Server.HtmlEncode(Request.FilePath)));
sb.Append("
");
sb.Append(string.Format("目前請求的虛擬路徑: {0}",Server.HtmlEncode(Request.Path)));
sb.Append("
");
sb.Append(string.Format("取得目前正在執行的應用程式的根目錄的實體檔案系統路徑: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("
");
sb.Append(string.Format("取得與請求的URL 相對應的實體檔案系統路徑: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("
");
Response.Write(sb.ToString());
}
}
輸出:當前時間: 2007-08-30 11:03:49
目前請求的虛擬路徑: /aDirectory/Sample/responseHtml.aspx
取得目前應用程式的根目錄路徑: /aDirectory
目前請求的虛擬路徑: /aDirectory/Sample/responseHtml.aspx
目前請求的虛擬路徑: /aDirectory/Sample/responseHtml.aspx
取得目前正在執行的應用程式的根目錄的實體檔案系統路徑: E:Visual Studio 2005
取得與請求的URL 相對應的實體檔案系統路徑: E:Visual Studio 2005\aDirectory
在ASP.NET程式設計中常需要用Request取得url的相關資訊.
測試的url位址是http://www.test.com/testweb/default.aspx , 結果如下:
Request.ApplicationPath: /testweb
Request.CurrentExecutionFilePath: /testweb/default.aspx
Request.FilePath: /testweb/default.aspx
Request.Path: /testweb/default.aspx
Request.PathInfo:
Request.PhysicalApplicationPath: E:WWWtestweb
Request.PhysicalPath: E:WWWtestwebdefault.aspx
Request.RawUrl: /testweb/default.aspx
Request.Url.AbsolutePath: /testweb/default.aspx
Request.Url.AbsoluteUri: http://www.test.com/testweb/default.aspx
Request.Url.Host: www.test.com
Request.Url.LocalPath: /testweb/default.aspx
當url中帶參數時可以使用:
HttpContext.Current.Request.Url.PathAndQuery.ToString()//
本頁網址: Request.URL;
上頁網址:
Request.UrlReferrer
Request.ServerViables["http_referer"]
Request.RawUrl
Request.RawUrl.QueryAndPath
System.IO.Path.GetFileName(Request.FilePath.ToString())
HttpRequest 類型公開了以下成員。
建構函數名稱說明
HttpRequest 基礎架構。初始化HttpRequest 物件。
頁首方法名稱說明
BinaryRead 執行對目前輸入流進行指定位元組數的二進位讀取。
Equals 決定指定的Object 是否等於目前的Object。 (繼承自Object。)
Finalize 允許Object 在「垃圾回收」回收Object 之前嘗試釋放資源並執行其他清理操作。 (繼承自Object。)
GetHashCode 用作特定類型的雜湊函數。 (繼承自Object。)
GetType 取得目前實例的Type。 (繼承自Object。)
MapImageCoordinates 將傳入影像欄位窗體參數對應為適當的x 座標值和y 座標值。
MapPath 已重載。 為目前請求將請求的URL 中的虛擬路徑對應到伺服器上的實體路徑。
MemberwiseClone 建立目前Object 的淺表副本。 (繼承自Object。)
SaveAs 將HTTP 請求儲存到磁碟。
ToString 傳回表示目前Object 的String。 (繼承自Object。)
ValidateInput 對透過Cookies 、Form 和QueryString 屬性存取的集合進行驗證。
頁首屬性名稱說明
AcceptTypes 取得用戶端支援的MIME 接受類型的字串陣列。
AnonymousID 取得該使用者的匿名識別碼(如果存在)。
ApplicationPath 取得伺服器上ASP.NET 應用程式的虛擬應用程式根路徑。
AppRelativeCurrentExecutionFilePath 取得應用程式根的虛擬路徑,並透過對應用程式根使用波形符號(~) 表示法(例如,以「~/page.aspx」的形式)使該路徑成為相對路徑。
Browser 取得或設定正在要求的用戶端的瀏覽器功能的資訊。
ClientCertificate 取得目前要求的用戶端安全性憑證。
ContentEncoding 取得或設定實體主體的字元集。
ContentLength 指定客戶端傳送的內容長度(以位元組計)。
ContentType 取得或設定傳入請求的MIME 內容類型。
Cookies 取得用戶端所傳送的Cookie 的集合。
CurrentExecutionFilePath 取得目前請求的虛擬路徑。
FilePath 取得目前要求的虛擬路徑。
Files 取得採用多部分MIME 格式的由客戶端上載的文件的集合。
Filter 取得或設定在讀取目前輸入流時要使用的篩選器。
Form 取得窗體變數集合。
Headers 取得HTTP 頭集。
HttpMethod 取得客戶端使用的HTTP 資料傳輸方法(如GET、POST 或HEAD)。
InputStream 取得傳入的HTTP 實體主體的內容。
IsAuthenticated 取得一個值,指示是否驗證了請求。
IsLocal 取得一個值,該值指示該請求是否來自本機。
IsSecureConnection 取得一個值,該值指示HTTP 連線是否使用安全套接字(即HTTPS)。
Item 從Cookies、Form、QueryString 或ServerVariables 集合中取得指定的物件。
LogonUserIdentity 取得目前使用者的WindowsIdentity 類型。
Params 取得QueryString、Form、ServerVariables 和Cookies 項目的組合集合。
Path 取得目前要求的虛擬路徑。
PathInfo 取得具有URL 副檔名的資源的附加路徑資訊。
PhysicalApplicationPath 取得目前正在執行的伺服器應用程式的根目錄的實體檔案系統路徑。
PhysicalPath 取得與要求的URL 相對應的實體檔案系統路徑。
QueryString 取得HTTP 查詢字串變數集合。
RawUrl 取得目前請求的原始URL。
RequestType 取得或設定客戶端使用的HTTP 資料傳輸方法(GET 或POST)。
ServerVariables 取得Web 伺服器變數的集合。
TotalBytes 取得目前輸入流中的位元組數。
Url 取得目前請求的URL 的資訊。
UrlReferrer 取得有關客戶端上次請求的URL 的信息,該請求連結到目前的URL。
UserAgent 取得客戶端瀏覽器的原始使用者代理資訊。
UserHostAddress 取得遠端客戶端的IP 主機位址。
UserHostName 取得遠端客戶端的DNS 名稱。
UserLanguages 取得客戶端語言首選項的排序字串陣列。
1.Request.ApplicationPath->目前應用的目錄樓主沒有接觸過jsp吧,如果接觸過jsp就會非常清楚,ApplicationPath指的是當前的application(應用程式)的目錄對應的--例如我的伺服器上有兩個web應用域名都是MySite.com 一個映射到目錄MySite.com/1/ 另一個影射到http://MySite.com/2/
那麼MySite.com/1/就是第一個應用的ApplicationPath 同理MySite.com/2/就是第二個應用的ApplicationPath
2.Request.FilePath->對應iis的虛擬目錄如URL http://MySite.com/1/index.html/pathinfo
FilePath = /1/index.html
3.Request.Path->目前請求的虛擬路徑
Path 是FilePath 和PathInfo 尾部的串聯。例如URL http://MySite.com/1/index.html/pathinfo
那麼Path = /1/index.html/pathinfo
4.Request.MapPath(string url)->將url映射為iis上的虛擬目錄這個目錄都是相對於application的根目錄的於Server.MapPath相比,不會包含類似c:/這樣的路徑可以理解為是相對路徑(對比的Server.MapPath就是絕對路徑)
5.Server.MapPath(string url)->將url對應為伺服器上的實體路徑例如http://MySite.com/1/index.html假設你的應用程式在c:/iis/MySite那麼就是c :/iis/MySite/1/index.html
Requst.FilePath取得目前請求的虛擬路徑。 FilePath 屬性不包含PathInfo 尾部。例如,對於URL http://www.contoso.com/virdir/page.html/tail ,FilePath 值為/virdir/page.html。
================================================== ================================================== =============================
Request.Path 取得目前請求的虛擬路徑。 Path 是FilePath 和PathInfo 尾部的串聯。例如,對於URL http://www.contoso.com/virdir/page.html/tail ,Path 為/virdir/page.html/tail。
================================================== ================================================== =============================
Request.MapPath 方法將指定的虛擬路徑對應到實體路徑。
下面的程式碼範例使用MapPath 方法將虛擬路徑轉換為伺服器上完全限定的實體路徑。此範例包括兩個部分:
.aspx 頁會對應路徑、讀取檔案並顯示讀取操作的結果。
UpperCaseFilterStream 類,該類別將透過它傳遞的所有字元都變更為大寫。
範例的第一部分顯示如何使用MapPath 方法將虛擬路徑轉換為完全限定的實體路徑。之後,將此實體路徑傳遞給StreamReader 對象,該物件包含該檔案的內容。然後,呼叫Write 方法,以在頁面上顯示檔案的內容。 Filter 屬性用於將篩選器附加到回應流,該回應流使頁面上顯示的文字全部大寫。
-