当前位置: 代码迷 >> ASP.NET >> 如果获得虚拟目录的物理路径(与别人问的不同)解决方案
  详细解决方案

如果获得虚拟目录的物理路径(与别人问的不同)解决方案

热度:3571   发布时间:2013-02-26 00:00:00.0
如果获得虚拟目录的物理路径(与别人问的不同)
我的项目在虚拟目录下运行,虚拟目录的路径是   d:\aaa
然后在这个虚拟目录下建立一个名称为   b   的虚拟目录,物理路径指向   e:\bbb
现在要在程序中获得   b   的物理路径
我用Server.MapPath(b)得到的是   d:\aaa\b     而不是实际的   e:\bbb

请问怎么才能得到   e:\bbb

------解决方案--------------------------------------------------------
没研究过,不知道呵呵!
------解决方案--------------------------------------------------------
没这样用过,只能帮顶
------解决方案--------------------------------------------------------
你在程序A中获取B?
那么 当然 是指向的 d:\aaa\b\ 了啊

你要在程序 B中
Server.MapPath(b)才是 b的实际路径
------解决方案--------------------------------------------------------
Server.MapPath( "/ ")
------解决方案--------------------------------------------------------
在程序B中,调用下

Response.Write( Request.PhysicalApplicationPath );
------解决方案--------------------------------------------------------
运行时物理路径
HttpRuntime.AppDomainAppPath

运行时虚拟路径
HttpRuntime.AppDomainAppVirtualPath

再当前页面下调用 HttpRuntime.AppDomainAppPath 即可
------解决方案--------------------------------------------------------
测试通过
.net 2.0
iis主目录E:\xxw
虚拟目录fff在d:\work\fff

在E:\xxw中建立default.aspx文件
<% Response.Write(Server.MapPath( "/ ")); %>
//输出:E:\xxw\
<% Response.Write(Server.MapPath( "/fff ")); %>
//输出:D:\work\fff

楼主直接写
Response.Write(Server.MapPath( "/b "));
------解决方案--------------------------------------------------------
Server.MapPath应该可以得到
------解决方案--------------------------------------------------------
System.Windows.Forms.Application.StartupPath

Server.MapPath( "\\subpath ")

Server.MapPath()

要哪个?
  相关解决方案