IIS 无法启动应用程序池 - 使用 DFS、共享配置和 Microsoft.Web.Administration
IIS Cannot Start Application Pool - using DFS, Shared Config and Microsoft.Web.Administration
我在 C# 中使用 Microsoft.Web.Administration 部署网站。我部署到单个服务器,并使用 DFS 和 IIS 共享配置能够将我的更改传播到位于负载平衡器后面的其他服务器。
一段时间以来一切正常,然后我开始遇到问题。在代码与之通信的服务器上,它很好,但在其他服务器上,应用程序池不会作为代码部署的一部分自动启动,或者通过转到每台服务器并在控制台中按启动手动启动。
The object identifier does not represent a valid object.
我目前的解决方法是在控制台中打开应用程序池(双击)然后按确定,不执行任何其他操作,然后我可以启动它并且网站可以正常工作。
请注意,如果我在任何服务器上手动创建一个应用程序池,同样的问题会发生在其他服务器上,所以我认为这不是部署方面的代码问题。
查看正在复制的共享配置文件,在应用程序池上打开和关闭之前和之后没有任何变化。
事件日志中没有任何消息被证明是有用的,而且我在网上搜索时只发现另外 1 个人在谈论类似的事情,并且该线程仍未解决。错误消息含糊不清,搜索它会带回各种各样的东西,none 其中是我遇到的。
这是在 Windows Server 2012,IIS 8.5
第一次发帖,所以如果我遗漏了什么或任何我感谢反馈,谢谢。
此代码解决了问题,希望对大家有所帮助。
$sites = Get-Website | where {$_.state -eq $null}
$sites | ForEach-Object {
$siteName = $_.name
$appPoolName = $_.applicationPool
IF (($siteName -ne $NULL) -and ($appPoolName -ne $NULL)){
Set-ItemProperty "IIS:\Sites$siteName" ApplicationPool $appPoolName
}
}
我在 C# 中使用 Microsoft.Web.Administration 部署网站。我部署到单个服务器,并使用 DFS 和 IIS 共享配置能够将我的更改传播到位于负载平衡器后面的其他服务器。
一段时间以来一切正常,然后我开始遇到问题。在代码与之通信的服务器上,它很好,但在其他服务器上,应用程序池不会作为代码部署的一部分自动启动,或者通过转到每台服务器并在控制台中按启动手动启动。
The object identifier does not represent a valid object.
我目前的解决方法是在控制台中打开应用程序池(双击)然后按确定,不执行任何其他操作,然后我可以启动它并且网站可以正常工作。
请注意,如果我在任何服务器上手动创建一个应用程序池,同样的问题会发生在其他服务器上,所以我认为这不是部署方面的代码问题。
查看正在复制的共享配置文件,在应用程序池上打开和关闭之前和之后没有任何变化。
事件日志中没有任何消息被证明是有用的,而且我在网上搜索时只发现另外 1 个人在谈论类似的事情,并且该线程仍未解决。错误消息含糊不清,搜索它会带回各种各样的东西,none 其中是我遇到的。
这是在 Windows Server 2012,IIS 8.5
第一次发帖,所以如果我遗漏了什么或任何我感谢反馈,谢谢。
此代码解决了问题,希望对大家有所帮助。
$sites = Get-Website | where {$_.state -eq $null}
$sites | ForEach-Object {
$siteName = $_.name
$appPoolName = $_.applicationPool
IF (($siteName -ne $NULL) -and ($appPoolName -ne $NULL)){
Set-ItemProperty "IIS:\Sites$siteName" ApplicationPool $appPoolName
}
}