在IIS上创建新网站:应用程序与虚拟目录。有什么区别?

在IIS上创建新网站:应用程序与虚拟目录。有什么区别?,iis,Iis,在IIS上创建新网站时,您可以在“应用程序”和“虚拟目录”之间进行选择。这两个选项之间的区别是什么?虚拟目录只是指向网页存储位置的指针 应用程序在IIS中为您的网页保留内存。如果您试图运行ASP页面并计划使用会话变量等,则必须使用应用程序。 应用程序可以使用虚拟目录,或者它可能只存在于默认网站目录(inetpub/wwwroot/)中。有一些区别,这里是最大的区别: 在IIS 6及更高版本中,可以为应用程序分配特定的“保护”级别。(例如,保护级别、应用程序池等)。您不能使用虚拟目录执行此操作

在IIS上创建新网站时,您可以在“应用程序”和“虚拟目录”之间进行选择。这两个选项之间的区别是什么?

虚拟目录只是指向网页存储位置的指针

应用程序在IIS中为您的网页保留内存。如果您试图运行ASP页面并计划使用会话变量等,则必须使用应用程序。
应用程序可以使用虚拟目录,或者它可能只存在于默认网站目录(inetpub/wwwroot/)中。

有一些区别,这里是最大的区别:

  • 在IIS 6及更高版本中,可以为应用程序分配特定的“保护”级别。(例如,保护级别、应用程序池等)。您不能使用虚拟目录执行此操作
  • 如果使用ASP.NET,则在应用程序级别停止搜索应用程序的主“Web.config”文件。对于工作目录,它实际上也会检查父层次结构的设置

在我看来,这是两个最大的区别,尽管还有其他一些小区别。

从web开发人员的角度来看:

虚拟目录是用于HTML内容的IIS 5(Windows 2000及更早版本)容器。还可以将虚拟目录配置为允许解释Active Server Pages(ASP)脚本和/或执行公共网关接口(CGI)应用程序。虚拟目录不能承载ASP.Net web应用程序


IIS 6(Windows XP/Windows Server 2003及更高版本)引入了“应用程序”容器类型。它允许托管ASP.Net web应用程序。

在哪里可以选择它?在应用程序中,您是指“应用程序池”吗?在干净的IIS上,打开“站点”并右键单击“默认”。在上下文菜单中,您可以看到“添加应用程序”和“添加虚拟目录”副本:+1,但请注意,这并不是故事的结尾,因为存储会话变量的不是应用程序池,而是w3wp.exe进程,如果应用程序池设置为使用多个w3wp.exe(也称为“web花园”)然后必须使用OutProc会话(因为同一用户的不同请求可能会被路由到不同的进程),但w3wp.exe基于应用程序池而不是虚拟目录,这是对的,您错了。我在IIS 7中看到,您可以配置“连接为虚拟目录和应用程序的特定用户或应用程序用户设置。我说的是进程隔离。我看到您可以设置访问虚拟目录文件资源时要使用的凭据,但我看不到将虚拟目录与应用程序池关联的方法(除了在其父应用程序级别设置虚拟目录)