从 IIS7 中的应用程序池中删除幻影应用程序

从 IIS7 中的应用程序池中删除幻影应用程序

我的一个应用程序池中有一个应用程序,其虚拟路径为/Site/login.aspx。我想删除它,但它不再存在于我的计算机上,并且它导致我在设置 AppFabric 时出现问题。

我了解,您可以通过在 IIS 中重新创建应用程序然后点击“删除”来删除这些幻影应用程序。这将从池中删除该应用程序,但在这种情况下,由于/login.aspx虚拟路径中

有什么想法可以删除这个错误条目吗?

答案1

由于我遇到了同样的问题;应用程序池中的应用程序不再存在,所以我做了一些研究并最终解决了这个问题。

以下是一些步骤:

  1. 使用文本编辑器找到并编辑 IIS 7 配置文件“applicationHost.config”。它应存储在“C:\windows\system32\inetsrv\config“由于该文件夹以某种方式受到“保护”,我通常会进行如下编辑:
    1. 打开 Windows 资源管理器
    2. 导航到“C:\windows\system32\inetsrv\config”
    3. 复制文件“applicationHost.config”
    4. 将其粘贴到您可以编辑的文件夹中,例如您的桌面
    5. 使用你选择的编辑器打开并编辑
    6. 使用 Windows 资源管理器将其复制回“C:\windows\system32\inetsrv\config”
  2. 备份您的“applicationHost.config”文件!
  3. 使用文本编辑器在“applicationHost.config”中搜索不存在的应用程序。它们应该位于<application ...>XML 节点内的某个位置。
  4. 删除<application ...>所有幻影应用程序的节点。
  5. 保存文件并将其复制回“C:\windows\system32\inetsrv\config”
  6. 刷新 IIS 管理控制台。您的应用程序池现在应该没有您之前删除的幻影应用程序。
  7. 实际上删除现在为空的应用程序池。

这对我来说很有效,如果对你不起作用,请在这里发表评论。一个很好的帮助是IIS 论坛上的此帖子

还请注意,在原始位置直接编辑“applicationHost.config”文件时,您需要使用 64 位编辑器(例如 Notepad++ 64 位),否则将存储在“C:\Windows\SysWOW64\inetsrv\Config”而不是正确的位置

答案2

这可能比编辑 applicationHost.config 更安全和更简单。

Powershell  
PS C:\Windows\system32> import-module WebAdministration
PS C:\Windows\system32> iis:
PS IIS:\> cd .\AppPools
PS IIS:\AppPools> ls
PS IIS:\AppPools> del [name of phantom AppPool]  

答案3

有一个简单的方法可以解决这个问题。

  1. 选择应用程序池中包含 Phantom 应用程序的站点。
  2. 在右侧的“操作”菜单中选择“查看应用程序”。此列表应显示站点中的所有应用程序(无论是否包含 Phantom)。
  3. 您需要做的就是选择应用程序并在右侧的“操作”菜单中选择“删除”。

答案4

更简单:

  1. 查看过时的应用程序 X 并记住(旧)路径 Y
  2. 使用 Explorer 创建(旧)路径/文件夹 Y
  3. 刷新 IIS 管理控制台
  4. 您将找到刚刚创建的文件夹 Y 和分配的应用程序 X
  5. 右键单击(旧)应用程序 X 并选择“删除”
  6. 使用 Explorer 删除路径 Y
  7. 再次刷新IIS管理控制台
  8. 欢呼

相关内容