Encontrei um problema estranho que não consegui resolver e não encontrei nenhuma informação: os nós Pools de aplicativos e Sites no Gerenciador do IIS do nosso IIS 8.5 desapareceu!
Este é um dos quatro servidores que estamos executando com uma configuração muito semelhante, mas é o único com o Windows Server 2012 R2 e o IIS 8.5: temos o App Pools padrão mais um para nosso aplicativo e nosso site e aplicativo da web que usa nosso pool de aplicativos. Tudo funcionou bem até domingo, 1º de junho de 2014, quando recebemos uma mensagem de erro do nosso serviço de monitoramento informando que nosso aplicativo estava indisponível nesse servidor.
Descobrimos as seguintes entradas no log de eventos:
[20:44:24] A worker process '27520' serving application pool 'camping.info' failed to stop a listener channel for protocol 'http' in the allotted time. The data field contains the error number.
[20:44:24] A process serving application pool 'camping.info' exceeded time limits during shut down. The process id was '27520'.
[20:45:54] A worker process '40744' serving application pool 'camping.info' failed to stop a listener channel for protocol 'http' in the allotted time. The data field contains the error number.
[20:45:54] A process serving application pool 'camping.info' exceeded time limits during shut down. The process id was '40744'.
[20:45:54] Application pool 'camping.info' is being automatically disabled due to a series of failures in the process(es) serving that application pool.
Quando inserimos o RDP no servidor e consultamos o Gerenciador do IIS, os nós Pools de aplicativos e Sites não estavam mais visíveis. Em vez disso, o log de eventos estava cheio de erros como o seguinte (como resultado da tentativa de abrir o nó do servidor abaixo de Start Page ):
IISMANAGER_ERROR_LOADING_PROVIDER_TYPE
IIS Manager could not load type 'Microsoft.Web.Management.AspNet.SessionState.SessionStateModuleProvider, Microsoft.Web.Management.Aspnet, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' for module provider 'SessionState' that is declared in %windir%\system32\inetsrv\config\administration.config. Verify that the type is correct, and that the assembly that contains the module provider is in the Global Assembly Cache (GAC).
Exception:System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Web.Management.Aspnet, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.Web.Management.Aspnet, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
at System.Type.GetType(String typeName, Boolean throwOnError)
at Microsoft.Web.Management.Server.AdministrationModuleProvider.GetModuleProvider(String userName, String connectionName)
Após algumas tentativas com a restauração da configuração do iis em funcionamento (C: \ Windows \ System32 \ inetsrv \ Config \ applicationhost.config), nós até mesmo desinstalamos o IIS completamente e o reinstalamos (com algumas dificuldades), mas sem sucesso. Procurando as dlls perdidas no disco, descobrimos que suas versões eram na verdade 8.5. . , então fomos em frente e substituímos todas as instâncias de 8.0.0.0 por 8.5.0.0 em C: \ Windows \ System32 \ inetsrv \ Config \ administration.config mas os erros ficaram (mencionando 8.0.0.0 ainda!).
O interessante é que o nosso aplicativo está sendo executado novamente no servidor - é só que não podemos vê-lo no Gerenciador do IIS. Nós gostaríamos de ser capaz de gerenciá-lo através da GUI e se livrar desses erros no log de eventos.
Algum comprador?