07 febrero, 2020

Solucionar el error IIS HTTP 500 21 - Internal Server Error (Publicar un servicio ASP.NET en IIS)

¡Hola, coders!

En este pequeño video les muestro los pasos a seguir para publicar un servicio desarrollado en ASP.NET C# u cualquier otro proyecto .NET en el IIS 7.5 que es la versión que trae Windows 7; y con el cual se van a encontrar con algunos problemillas al momento de querer utilizarlo.


¿Qué es IIS?

Internet Information Services o IIS​ es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows.

El video está divido en 3 pequeñas partes

1:41 Crear un WebService ASMX C# en Visual Studio 2019
2:49 Publicar un WebService en IIS 7.5
5:02 Solucionar el error IIS HTTP 500 21 - Internal Server Error

-----------------------------------------

Solución del erro: "El controlador "WebServiceHandlerFactory-Integrated" tiene una condición previa incorrecta "ManagedPipelineHandler" en su lista de módulos"

Aquí les comparto un pequeño problema con el que se pueden encontrar al momento de intentar publicar un proyecto ASP.NET 4 en IIS 7.5.

INCONVENIENTE
=============
Al intentar publicar un servicio web desarrollado en ASP.NET C# en Windows 7 Home Premium. Me encontré con el siguiente mensaje de error: "WebServiceHandlerFactory-Integrated" tiene una condición previa incorrecta "ManagedPipelineHandler" en su lista de módulos.

PROCEDIMIENTO
==============
El IIS se instaló desde la opción de "Activar o desactivar características de windows", el servicio se desarrolló en Visual Studio 2019 y se compiló para una plataforma de destino ".Net Framework 4"; y en el IIS, el servicio se configuró con un grupo de aplicaciones con la versión ".Net Framework v4.0.30319". Listo para funcionar, sin embargo, el IIS 7.5 de Windows 7 no estaba instalando correctamente la versión 4 del framework, solo funcionaba con el proyecto compilado para una versión 2.

SOLUCIÓN
=========

Para solucionar este problema hay 2 maneras:

  1. Agregando Paths absolutos de la ubicación del framework manualmente dentro del archivo "applicationHost.config"
  2. Ejecutando el comando "aspnet_regiis.exe" con la opción "-i" desde la consola de comandos en "modo administrador"

De esta manera, el IIS 7 debería correr un proyecto compilado en .Net Framework 4.

-----------------------------------------

En el video también aprendimos a crear y publicar un servicio ASP.NET C# (con Visual Studio 2019 y .Net Framework 4) en IIS 7.5 de Windows 7

Saludos.

No hay comentarios, ¡cuéntame algo!

Me gustaría saber tu opinión. ¡Saludos!