IIS中站点与虚拟目录的区别

时间:2021-02-05 12:16:54
最近做了个发布系统,如今要上传到公司服务器上,可是却出了个让我感到郁闷的事情, 程序中有个保存图片到磁盘目录的功能,这在本地是没问题的,可是到服务器上的时候却把图片生成到了另一个目录!!
      我多次测试,来返于本地与服务器之间...
      还是没有发现什么异常!!
??
      靠,最后经过分析和排除法,把问题锁定到虚拟目录的名字上,不管我怎么测试,想发现一些在服务起上生成的另一个目录破绽,另一个目录它始终都是在虚拟目录的名字下这个目录的
      原因: 服务器上是以站点来管理这些上传的文件的
            而在本地我是以虚拟目录来管理的
      其中两者的区别是

虚拟目录:Server.MapPath("/IssueArticleAdmin/")
          以上表示:虚拟目录IssueArticleAdmin对应的物理路径
站点:Server.MapPath("/IssueArticleAdmin/")
      以上表示:虚拟目录IssueArticleAdmin对应的物理路径下IssueArticleAdmin文件夹的路径
          所以无论我希望生成怎样的目录它都将在虚拟目录IssueArticleAdmin对应的物理路径下IssueArticleAdmin文件夹去生成
      
      解决:把本地的Server.Path("/IssueArticleAdmin/")改成Server.Path("/")这两者在虚拟目录和站点上才表示同一个意思

1.一台主机上,可以建立多个站点,可以同时启用这些站点。只要它们的  
  IP,主机头,端口  
  三者只要有一项不同就可以启用。   
    
2.虚拟目录存在于站点内,可以包含多个虚拟目录,正确。   
    
3.又是理解错误,虚拟目录不可能独立存在,要附属于站点内。你当然要建立站点。