![从 IIS7 中的应用程序池中删除幻影应用程序](https://linux22.com/image/553467/%E4%BB%8E%20IIS7%20%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%B1%A0%E4%B8%AD%E5%88%A0%E9%99%A4%E5%B9%BB%E5%BD%B1%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F.png)
我的一个应用程序池中有一个应用程序,其虚拟路径为/Site/login.aspx
。我想删除它,但它不再存在于我的计算机上,并且它导致我在设置 AppFabric 时出现问题。
我了解,您可以通过在 IIS 中重新创建应用程序然后点击“删除”来删除这些幻影应用程序。这将从池中删除该应用程序,但在这种情况下,由于/login.aspx
虚拟路径中
有什么想法可以删除这个错误条目吗?
答案1
由于我遇到了同样的问题;应用程序池中的应用程序不再存在,所以我做了一些研究并最终解决了这个问题。
以下是一些步骤:
- 使用文本编辑器找到并编辑 IIS 7 配置文件“applicationHost.config”。它应存储在“C:\windows\system32\inetsrv\config“由于该文件夹以某种方式受到“保护”,我通常会进行如下编辑:
- 打开 Windows 资源管理器
- 导航到“C:\windows\system32\inetsrv\config”
- 复制文件“applicationHost.config”
- 将其粘贴到您可以编辑的文件夹中,例如您的桌面
- 使用你选择的编辑器打开并编辑
- 使用 Windows 资源管理器将其复制回“C:\windows\system32\inetsrv\config”
- 备份您的“applicationHost.config”文件!
- 使用文本编辑器在“applicationHost.config”中搜索不存在的应用程序。它们应该位于
<application ...>
XML 节点内的某个位置。 - 删除
<application ...>
所有幻影应用程序的节点。 - 保存文件并将其复制回“C:\windows\system32\inetsrv\config”
- 刷新 IIS 管理控制台。您的应用程序池现在应该没有您之前删除的幻影应用程序。
- 实际上删除现在为空的应用程序池。
这对我来说很有效,如果对你不起作用,请在这里发表评论。一个很好的帮助是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
有一个简单的方法可以解决这个问题。
- 选择应用程序池中包含 Phantom 应用程序的站点。
- 在右侧的“操作”菜单中选择“查看应用程序”。此列表应显示站点中的所有应用程序(无论是否包含 Phantom)。
- 您需要做的就是选择应用程序并在右侧的“操作”菜单中选择“删除”。
答案4
更简单:
- 查看过时的应用程序 X 并记住(旧)路径 Y
- 使用 Explorer 创建(旧)路径/文件夹 Y
- 刷新 IIS 管理控制台
- 您将找到刚刚创建的文件夹 Y 和分配的应用程序 X
- 右键单击(旧)应用程序 X 并选择“删除”
- 使用 Explorer 删除路径 Y
- 再次刷新IIS管理控制台
- 欢呼