【问题标题】:Creating a new website on IIS: Application vs. Virtual Directory. Whats the difference?在 IIS 上创建新网站:应用程序与虚拟目录。有什么不同?
【发布时间】:2017-10-14 04:58:37
【问题描述】:

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

【问题讨论】:

  • 你在哪里可以选择?从应用程序,你的意思是“应用程序池”吗?
  • 在干净的 IIS 安装上打开“站点”并右键单击“默认”。在上下文菜单中,您将获得“添加应用程序”和“添加虚拟目录”

标签: iis


【解决方案1】:

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

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

【讨论】:

  • +1 但请注意,这并不是故事的结束,因为存储会话变量的不是应用程序池,而是 w3wp.exe 进程,如果应用程序池设置为使用多个 w3wp.exe(又名“网络花园”),然后必须使用 OutProc 会话(因为同一用户的不同请求可能被路由到不同的进程),但你是对的 w3wp.exe基于应用程序池而不是虚拟目录
【解决方案2】:

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

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

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

【讨论】:

  • mjmarsh,你错了。我在 IIS 7 中看到,您可以为虚拟目录和应用程序配置“连接为特定用户或应用程序用户设置。
  • 我说的是进程隔离。我看到您可以设置访问虚拟目录文件资源时要使用的凭据,但我看不到将虚拟目录与应用程序池相关联(除了在其父应用程序级别设置之外)
【解决方案3】:

从网络开发者的角度来看:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多