Ao publicar um serviço WCF em um servidor Windows Server 2019, 64 bits, Internet Information Service (IIS) versão 10.0, apresentou-se o erro HTTP 500.19 — Internal Server Error.
Após consultar o site de suporte da Microsoft, link abaixo, verifiquei que umas das causas do erro apresentado ocorre porque o arquivo ApplicationHost.config, ou o arquivo Web.config, contém um elemento XML malformado.
Analisei o arquivo Web.config, como este é o mesmo utilizado em outro servidor porém em outra versão do Windows, não constatei qualquer erro de configuração.
Identifiquei que o erro apresentado é decorrente da configuração do IIS; ocorre que, por padrão, algumas configurações do IIS vem desabilitadas.
Para alterar referidas configurações, abra o arquivo applicationHost.config, disponível em:
C:\Windows\System32\inetsrv\config\applicationHost.config
O valor da chave overrideModeDefault das seções handlers e modules devem ser alteradas de “Deny” para”Allow” :
<section name="handlers" overrideModeDefault="Deny" />
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
Após aplicar os ajustes acima, o erro HTTP 500.19 — Internal Server Error foi corrigido, porém outro erro foi exibido.
Dessa vez, o erro apresentado foi o HTTP Error 404.3 — Not Found.
A solução deste erro é a instalação da feature “WCF Services” >“HTTP Activation”, conforme passo-a-passo abaixo:
- Abra “Programs & Features” ;
- Selecione a opção “Turn Windows features on or off” (deve subir o privilégio para administrador);
- Selecione “.NET Framework 4.5 Advanced Services” > “.NET Framework 4.5 Advanced Services” > “WCF Services” e “HTTP Activation”.
Se estiver executando o IIS nesse servidor pela primeira vez, como foi meu caso, será necessário executar a ferramenta de registro do IIS do ASP.NET (aspnet_regiis.exe).
Se você estiver usando o .NET framework v4x, abra o prompt de comando como administrador e altere o diretório para a pasta base do .NET framework usando:
CD C:\Windows\Microsoft.NET\Framework\v4.0.30319
ou, se você estiver usando um servidor de 64 bits, use:
CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319
Quando você navegar com êxito para o diretório apropriado, execute a ferramenta de registro do IIS do ASP.NET usando:
aspnet_regiis -i
Após referidas configurações, a aplicação foi executada com sucesso.
