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

转载自:https://www.cnblogs.com/caishuhua226/p/4178692.html

 

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
posted @ 2020-08-05 10:47  古道子  阅读(159)  评论(0编辑  收藏  举报