我是 asp.net 开发人员,我总是对 IIS 中的应用程序和虚拟目录感到困惑。似乎在 iis 6.0 中,您只能创建虚拟目录。
答案1
这两者很容易混淆,人们经常互换使用这两个术语。
虚拟目录只是指向磁盘上不同位置的指针。它指向磁盘上与其父文件夹不同的固定路径。
应用程序是不同文件夹之间的边界。ASP.NET 使用它来创建新的 AppDomain 根(或应用程序根)。应用程序根使用不同的 global.asax、bin 文件夹和其他 app_[folders.]。
在 IIS6 和 IIS7 中,如果您创建虚拟目录,默认情况下它也不是应用程序。ASP.NET 会将其放在与其父文件夹相同的 AppDomain 中。
在 IIS6 中,您可以通过右键单击->属性和创建将虚拟目录或常规文件夹转换为应用程序。
在 IIS7 中,选项的名称不同,但在后台是相同的。创建虚拟目录允许您创建一个 vdir,该 vdir 仍然是其父级 AppDomain 的一部分(即不是应用程序)。
“添加应用程序”选项实际上会创建一个虚拟目录,然后将其标记为应用程序。(您会注意到它允许您指定路径)。
您还可以右键单击现有文件夹(或 vdir)并转换为应用程序。这是在现有常规或虚拟文件夹上创建应用程序边界的一种方法。
答案2
您还可以检查..你知道吗:IIS 7 / 7.5 中虚拟目录与应用程序之间的区别
编辑:引用该网站,因为链接已失效;
在 IIS 7 / 7.5 中,您可以选择创建虚拟目录和应用程序。
什么是虚拟目录?
虚拟目录是映射到本地物理目录或远程服务器上的目录的目录。虚拟目录的代码将在与父进程相同的工作进程中执行。网站和虚拟目录的应用程序池是相同的。
图片05
什么是应用程序?
应用程序与虚拟目录相同,只是您可以选择在不同的应用程序池中运行应用程序。
图片06
注意:上面的截图在 applicationhost.config 中的样子如下
答案3
虚拟目录只不过是指向或引用本地计算机或远程服务器中的文件夹。如果您在 IIS 中的默认网站下创建虚拟目录。假设默认网站由于某些内部问题而崩溃,您将无法访问虚拟目录。
添加应用程序不过是一组通过协议传递内容或提供服务的文件。应用程序属于应用程序池;假设由于某些问题默认网站崩溃,它不会影响属于应用程序池的任何应用程序。