查下使用Server.MapPath进行虚拟目录映射的问题,我进行了一把试验:

试验条件:w1网站物理路径为F:\temp\代码示例\WebSite1,默认网站的物理路径C:\inetpub\wwwroot,对于w1网站的某网页调用 Server.MapPath方法。

 试验结果:

  Server.MapPath("")  w1返回F:\temp\代码示例\WebSite1 ,即w1网站物理路径2   Server.MapPath("/") w1返回C:\inetpub\wwwroot,即默认网站物理路径3  Server.MapPath("Bin") w1返回F:\temp\代码示例\WebSite1\Bin

4  Server.MapPath("/Bin") w1返回C:\inetpub\wwwroot\Bin返回的是默认网站物理路径+/Bin 

总结下:参数是以斜杠开头( / \ )或者../ ..\ 等开头,那么首先取默认网站的物理路径,即C:\Inetpub\wwwroot,再加上传入的传入的路径参数;如果不是以这类符号开头的话,就是取当前网站的物理路径,即F:\temp\代码示例\WebSite1 ,再加上传入的路径参数。

 注意:Server.MapPath不保证返回的物理路径是有效路径。

 
试验了几把发现都还正确,不知道这种考虑方式是否正确,欢迎拍偶o(_)o…

 

posted on 2008-04-07 17:36  magiclee  阅读(499)  评论(0编辑  收藏  举报