网络上收集的获取服务器目录的方法:
Response.Write(Server.MapPath("/")+"<br />");
Response.Write(Server.MapPath("~/"));
Response.Write(Server.MapPath("./")+"<br />");
Response.Write(Server.MapPath("../../")+"<br />");
Response.Write(Server.MapPath("")+"<br />");
Response.Write(Request.ApplicationPath +"<br/>");
Response.Write(Request.AppRelativeCurrentExecutionFilePath +"<br />");
Response.Write(Request.CurrentExecutionFilePath +"<br />");
Response.Write(Request.FilePath +"<br/>");
Response.Write(Request.Path +"<br/>");
Response.Write(Request.PhysicalApplicationPath +"<br/>");
Response.Write(Request.PhysicalPath +"<br/>");
Response.Write(Request.RawUrl +"<br/>");
Response.Write(Request.Url.AbsolutePath+"<br />");
Response.Write(Request.Url.AbsoluteUri+"<br />");
Response.Write(Request.UrlReferrer.AbsolutePath+"<br />");
Response.Write(Request.UrlReferrer.AbsoluteUri+"<br />");
分别返回如下内容:
c:\inetpub\wwwroot\
D:\Backup\我的文档\Visual Studio 2008\WebSites\WebSite2\
D:\Backup\我的文档\Visual Studio2008\WebSites\WebSite2\a\b\
D:\Backup\我的文档\Visual Studio2008\WebSites\WebSite2\
D:\Backup\我的文档\Visual Studio2008\WebSites\WebSite2\a\b
/WebSite
~/a/b/Default.aspx
/WebSite/a/b/Default.aspx
/WebSite/a/b/Default.aspx
/WebSite/a/b/Default.aspx
D:\Backup\我的文档\Visual Studio 2008\WebSites\WebSite2\
D:\Backup\我的文档\Visual Studio 2008\WebSites\WebSite2\a\b\Default.aspx
/WebSite/a/b/Default.aspx
/WebSite/a/b/Default.aspx
http://localhost/WebSite/a/b/Default.aspx
/WebSite/a/b/Default.aspx
http://localhost/WebSite/a/b/Default.aspx
如果提示:未能映射路径“/”,因为调试时,路径总是形如:http://localhost:1234/WebSite/,而站点 http://localhost:1234/WebSite/ 实际上并不存在,所以使用Server.MapPath(“/”)会出错。
解决方法:使用http://localhost/Website/访问时能解决问题。