IIS6.0中应用程序池的下拉列表中显示

症状:

应用程序池的下拉列表中只显示<Invalid Application Pool>条目。

参照文档做了以下步骤和IIS reset,但是仍然没有解决问题:

  • 1. Cannot Select an Application Pool in IIS 6.0 "Invalid Application Pool" message:

https://blogs.iis.net/lprete/archive/2008/06/22/cannot-select-an-application-pool-in-iis-6-0-quot-invalid-application-pool-quot-message.aspx

  • 2. 使用Metabase Explorer,没有发现问题。应用程序池的KeyType和Websit的AppPoolID都是正确的
  • 3. 在c:\windows\system32\inetsrv用记事本打开IIS 配置文件meatbase.xml,检查<IIsApplicationPools>和<IIsApplicationPool>部分,发现有如下所示多出一个节点:

<IIsApplicationPools Location=" /LM/W3SVC/AppPools" AdminACL="xx" AppPoolIdentityType="2" ... StartupTimeLimit="90" />

<IIsConfigObject Location=" /LM/W3SVC/AppPools/XXXAppPool121" />

- <IIsApplicationPool Location=" /LM/W3SVC/AppPools/DefaultAppPool" AppPoolAutoStart="TRUE" AppPoolIdentityType="2" ... PeriodicRestartTime="0">

</IIsApplicationPool>

 

  对比本地的metabase.xml文件,发现在<IIsApplicationPools>和<IIsApplicationPool>之间没有<IIsConfigObject>的部分。

解决方法:

  • 1. 备份metabase.xml。
  • 2. 停止IIS管理服务。
  • 3. 删除meatbase.xml文件中的<IIsConfigObject>部分。
  • 4. 重启IIS管理服务以及HTTP SSL,W3Svc等等。

之后IIS中应用程序池中的下拉列表正常显示。

通过与客户的确认,这个多出来的节点应当使用第三方配置工具来添加。

谢谢!

微软 Internet 开发者支持小组