首页 > 代码库 > ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath

ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath

1.Request.ApplicationPath->当前应用的目录 

2.Request.FilePath->对应于iis的虚拟目录 
  如 URL http://mockte.com/1/index.html/pathinfo 
  FilePath = /1/index.html 

3.Request.Path->当前请求的虚拟路径 
  Path 是 FilePath 和 PathInfo 尾部的串联。例如 URL http://mockte.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://mockte.com/1/index.html  假设你的应用程序在c:/iis/MySite中 
  那么就是 c:/iis/MySite/1/index.html

6.底下这张表就是根据Browser Request 的网址相关的属性的用法

网址:http://localhost:1897/News/Press/Content.aspx/123?id=1#toc
Request.ApplicationPath/
Request.PhysicalPathD:/Projects/Solution/web/News/Press/Content.aspx
System.IO.Path.GetDirectoryName(Request.PhysicalPath)D:/Projects/Solution/web/News/Press
Request.PhysicalApplicationPathD:/Projects/Solution/web/
System.IO.Path.GetFileName(Request.PhysicalPath)Content.aspx
Request.CurrentExecutionFilePath/News/Press/Content.aspx
Request.FilePath/News/Press/Content.aspx
Request.Path/News/Press/Content.aspx/123
Request.RawUrl/News/Press/Content.aspx/123?id=1
Request.Url.AbsolutePath/News/Press/Content.aspx/123
Request.Url.AbsoluteUrihttp://localhost:1897/News/Press/Content.aspx/123?id=1
Request.Url.Schemehttp
Request.Url.Hostlocalhost
Request.Url.Port1897
Request.Url.Authoritylocalhost:1897
Request.Url.LocalPath/News/Press/Content.aspx/123
Request.PathInfo/123
Request.Url.PathAndQuery/News/Press/Content.aspx/123?id=1
Request.Url.Query?id=1
Request.Url.Fragment 
Request.Url.Segments/
News/
Press/
Content.aspx/
123

ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath