Instalação de serviço WCF em Windows Server 2019

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.

Figura 1 — HTTP Error 500.19

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.

https://support.microsoft.com/pt-br/help/942055/http-error-500-19-error-when-you-open-an-iis-7-0-webpage

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.

Figura 2— HTTP Error 404.3

A solução deste erro é a instalação da feature “WCF Services” >“HTTP Activation”, conforme passo-a-passo abaixo:

  1. Abra “Programs & Features” ;
  2. Selecione a opção “Turn Windows features on or off” (deve subir o privilégio para administrador);
  3. Selecione “.NET Framework 4.5 Advanced Services” > “.NET Framework 4.5 Advanced Services” > “WCF Services” e “HTTP Activation”.
Figura 3 — Windows Features

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.

Leave a Reply