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.PhysicalPath D:/Projects/Solution/web/News/Press/Content.aspx
System.IO.Path.GetDirectoryName(Request.PhysicalPath) D:/Projects/Solution/web/News/Press
Request.PhysicalApplicationPath D:/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.AbsoluteUri http://localhost:1897/News/Press/Content.aspx/123?id=1
Request.Url.Scheme http
Request.Url.Host localhost
Request.Url.Port 1897
Request.Url.Authority localhost: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
上一篇:【WEB API项目实战干货系列】- API登录与身份验证(三)


下一篇:Linux 桌面玩家指南:17. 在 Ubuntu 中使用 deepin-wine,解决一些依赖 Windows 的痛点问题