
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
IIS支持在一台服务器上并存多“站点(Sites)”主机。这些站点由IP地址、主机名称、和/或端口号组成。例如假设我的站点是http://www.aspcool.com,它的IP地址为192.197.157.24,主机名称是www.aspcool.com,端口号是80(默认的HTTP端口)。 而Nikhil的站点是http://www.nikhilk.net,它的服务器和我的在同一台Web服务器上,所以和我一样,它拥有192.197.157.24 IP地址和默认的80端口,但是唯一不同就是绑定的主机名称不同。只要这三个之中(IP地址、主机名和端口号)有一个不同,就可以区分每一个站点,进而就可以单独映射到IIS Web服务器
当一个站点经过注册和IIS关联后,你需要建立该站点的主目录,该主目录指出了将来您上传的页面文件的存放地址。当安装IIS时,默认的站点路径主目录映射的是c:\inetpub\wwwroot这个目录,如果你直接放置一个文件,例如test.html在该目录下,你就可以使用http://localhost/test.html来从该web服务器上检索该页面信息。
另外,在该目录下,你可以建立任意多的物理路径和子文件夹,IIS对此都进行了很好的支持。
IIS同样此持虚拟路径(virtual directories,简称vdirs)这一概念,顾名思义,虚拟路径并不是真实的路径,它可以把URL映射成逻辑路径,进而映射到物理离境,这样可以很好的保护文件。
例如,我建立了一个名称为app1 的虚拟路径,并且映射到 c:\inetpub\app1,然后在app1目录下建立了一个名称为test2.htm的文,并结合IIS默认的设置,那么具体用户请求映射如下:
http://localhost/test.html----> c:\inetpub\wwwroot\test.html
http://localhost/app1/test2.htm---->c:\inetpub\app1\test2.htm
注意:上面的wwwroot和app1是平等的,或者说它们在同一文件夹下,所以虽然从URL逻辑上看似乎app1应该在wwwroot目录下,但是其实您并不能够确保实际存放是这样的。
IIS同样支持应用程序(Application)这一概念,这一概念和虚拟路径类似,它们在IIS6版本里还支持管理员来管理堆不同应用程序池的映射。(注意:ASP.NET的应用程序这一概念已经和传统的ASP应用程序的概念不同,它是应用程序的入口)
IIS的Application同样可以映射到主目录下的物理路径,它还可以映射到主目录以外的其他路径。它们能够支持多层次的深度嵌套
例如
http://www.testsite.com/ -> c:\www.testsite.com\wwwroot (应用程序的主目录)
http://www.testsite.com/app1 -> c:\www.testsite.com\app1
http://www.testsite.com/app2 -> c:\www.testsite.com\app2
http://www.testsite.com/app3 -> c:\www.testsite.com\wwwroot\app3
http://www.testsite.com/app3/app4 -> c:\www.testsite.com\wwwroot\app3\app4
注意上面例子里Application的主目录(http://www.testsite.com/) ,app1(http://www.testsite.com/app1)以及app2 (http://www.testsite.com/app2) ,从URL路径上看似乎app1和app2是在主目录下进行继承,但是其实在物理路径上是平等的。
这里特别强调一下,当你在IIS里在右击鼠标选择“建立虚拟路径”时,你其实同时也建立了一个应用程序(Application),(特别的,此时虚拟路径已经自动设置了一些应用程序元数据)
如果你不想要这些应用程序元素,你可以打开刚建立的虚拟目录的属性页,最主要的记住:IIS实现对虚拟路径的绑定,而不是对物理路径的绑定,这一点决定了应用程序的范围和边界。
上面的映射,如果你打开IIS应该类似如下你可以单击删除,这并不会删除虚拟路径,但它会删除应用程序,一般并不建议这么做。
ASP.NET 2.0和应用程序
ASP.NET使用IIS应用程序元数据标示(这些标识存放在IIS元数据配置系统里)来区分每一个应用程序的应用区域,并且关联到具体主机内容,特别的,一个目录被映射成ASP.NET虚拟路径后会做如下一些事情:
(1)它允许在当前应用程序的主目录下建立一个 \bin 文件夹以此来解决汇编程序集合的引用,并可以立即使用它。
(2)它允许应用程序集等级(application-level)可以设置身份验证(具体在web.config里配置)。
(3)它允许全局设置(global.asax)文件定义处理全局等级事件(例如Application_Start/End,以及具体的模块事件如Session_Start/End)
(4)上面这些都在ASP.NET 2.0版本进行了支持,除此以外在ASP.NET2.0版本里,为了部署应用程序的方便和资源共享,它还提供了额外的目录,你可以在应用程序主目录下建立这些额外的目录,这写额外的目录包括App_Data、App_Code等以便提供数据访问、类库的编译和应用程序资源等。
何谓IIS的元数据标识?对于熟悉Windows的用户来说,应该知道windows系统的配置在注册表里,同样IIS也采用了配置文件的思想其配置信息放置在meta数据库里,这就是我们通常称为的元数据库