HTTP Error 500.19 y código de error: 0x80070021

Tengo una versión webAPI simple de Visual Studio 2013. Funciona bien cuando la ejecuto desde VS13 pero cuando copio el proyecto en IIS local me da el siguiente error.

HTTP Error 500.19 – Error interno del servidor No se puede acceder a la página solicitada porque los datos de configuración relacionados para la página no son válidos.

Información de error detallada:

Módulo IIS Web Core

Notificación BeginRequest

Handler Aún no determinado

Código de error 0x80070021

Error de configuración Esta sección de configuración no se puede usar en esta ruta. Esto sucede cuando la sección está bloqueada en un nivel principal. El locking es por defecto (overrideModeDefault = “Denegar”), o establecido explícitamente por una etiqueta de ubicación con overrideMode = “Denegar” o el legado allowOverride = “false”.

Archivo de configuración \? \ C: \ inetpub \ wwwroot \ APITeslin \ web.config

Fuente de configuración:

36:  37:  38:  

Obtuve exactamente el mismo error y llegué a esta pregunta. Como @SpaceBison mencionó en los comentarios, esta respuesta describe la solución: https://stackoverflow.com/a/12867753/404099 . Lo vi demasiado tarde y omite algunos pasos. Esto es lo que funcionó para mí:

Windows Server 2012, IIS 8.5 . Debería funcionar para otras versiones también.

  • Vaya al administrador del servidor, haga clic en agregar roles y funciones
  • En la sección de roles, elija: Servidor web
    • En la subsección de Seguridad, seleccione todo (excluí resumen, restricciones de IP y autorización de URL ya que no los utilizo)
    • En Desarrollo de aplicaciones, elija .NET Extensibility 4.5, ASP.NET 4.5 y ambas entradas ISAPI
  • En la sección de características, elija: NET 3.5, .NET 4.5, ASP.NET 4.5
  • En la sección del servidor web, seleccione: Servidor web (todo), Herramientas de administración (Consola de administración IIS y Servicio de administración), Autenticación de Windows, si está utilizando alguno de ellos

Obtuve este error al intentar alojar un servicio WCF en una aplicación ASP.NET vacía. La solución completa estaba usando la plataforma .NET 4.5, en IIS 8.5 ejecutándose en Windows 8.1. El resultado fue abrir “Activar o desactivar las características de Windows” ir a la sección WCF en los servicios avanzados de ASP.NET 4.5 y verificar la activación de HTTP. Se le pedirá que reinicie el sistema. Captura de pantalla

Esto debería arreglar el HTTP 500.19!

EDIT 11-FEB-2016 Acabo de recibir un problema en Windows 10 Pro, IIS 10, esta vez, era un HTTP 404.0. La solución sigue siendo la misma, active “Activación HTTP” en Funciones de Windows -> Servicios avanzados de .NET Framework 4.6 -> Servicios WCF -> Activación HTTP

También estaba teniendo el mismo problema, pero después de una tormenta de ideas con IIS y Google durante muchas horas. Descubrí la solución. Este error se debe a que algunas configuraciones están deshabilitadas en IIS applicationHost.config .

A continuación se muestran los pasos para la solución:

  1. Vaya a C:\Windows\System32\inetsrv\config\applicationHost.config y ábralo en el bloc de notas
  2. Cambie el siguiente valor clave presente en

    • cambiar este valor de “Denegar” a “Permitir”

    • cambiar este valor de “Denegar” a “Permitir”

Funcionó para mí

Si ejecuta IIS en esa computadora por primera vez, intente ejecutar la herramienta de registro ASP.NET IIS (aspnet_regiis.exe).

A continuación, le indicamos cómo hacerlo: si usa .NET Framework v4, abra el símbolo del sistema como administrador y cambie el directorio a la carpeta base de .net framework usando:

 CD C:\Windows\Microsoft.NET\Framework\v4.0.30319 

o, si está usando una computadora de 64 bits, use:

 CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

Cuando haya navegado exitosamente al directorio apropiado, ejecute la herramienta de registro ASP.NET IIS usando:

 aspnet_regiis -i 

Si está utilizando una versión de .NET framework diferente, simplemente reemplace v4.0.30319 con el nombre de carpeta apropiado.

Espero que esto ayude.

Lo resolví haciendo lo siguiente:

 WebServer(ISS)->WebServer->Application Development add .NET Extensibility 3.5 add .NET Extensibility 4.5 add ASP.NET 4.5 add ISAPI Extensions add ISAPI Filters 

enter image description here

En Windows 8.1, IIS 8.5 la solución para mí fue registrar 4.5 desde el panel de control:

Progtwigs y características> Activar o desactivar las características de Windows> Servicios de información de información> Servicios de World Wide Web> Funciones de desarrollo de aplicaciones> Seleccionar ASP.NET 4.5

Haga clic en Aceptar.

Como el error se identifica: “Esto sucede cuando la sección está bloqueada en un nivel principal”. Para desbloquear la sección, puede usar appcmd.exe y ejecutar el siguiente comando:

 %windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers -commitpath:apphost 

Para obtener más información sobre el locking de sección y sobre el contexto de configuración principal, consulte la documentación de IIS .

En nuestro caso, tuvimos problemas con este error durante algunos días. Resulta que en el panel de control, progtwigs, activar o desactivar las características de Windows.

Seleccionamos Internet Information Services, servicios de Internet, aplicaciones de desarrollo de aplicaciones y allí verificamos el conjunto de características asociadas a nuestro entorno de desarrollo. Por ejemplo: ASP.NET 4.6. .NET Extensibility 4.6, etc.

¡Funciona!

Su web.config describe que está utilizando autenticación de formularios : asegúrese de habilitar la autenticación de formularios y deshabilitar la autenticación anónima en IIS en el menú Autenticación, para el sitio web que se ejecuta en IIS.

Intente desbloquear la configuración de configuración de IIS (7.5) relevante a nivel de servidor, de la siguiente manera:

  1. Abra el Administrador de IIS
  2. Seleccione el servidor en el panel de Conexiones
  3. Abra el Editor de configuración en el panel principal
  4. En el menú desplegable Secciones, seleccione la sección para desbloquear, por ejemplo, system.webServer> defaultPath
  5. Haga clic en Desbloquear atributo en el panel derecho
  6. Repite para cualquier otra configuración que necesites desbloquear
  7. Reiniciar IIS (opcional): seleccione el servidor en el panel de Connceciones, haga clic en Reiniciar en el panel Acciones

En mi caso, había reglas para el módulo Reescribir URL de IIS pero no tenía ese módulo instalado. Debería verificar su web.config si hay algún módulo incluido pero no instalado.

Por favor, línea y borró desde el web.config.

Bueno, estamos usando los servicios web de Amazon, por lo que estamos buscando utilizar scripts y progtwigs para superar este problema. Así que he estado a la caza de una herramienta de línea de comandos. Entonces primero probé el truco de correr

c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

pero debido a que estoy ejecutando Windows Server 2012 basado en la nube se quejó

This option is not supported on this version of the operating system. Administrators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Windows Features On/Off" dialog, the Server Manager management tool, or the dism.exe command line tool. For more details please see http://go.microsoft.com/fwlink/?LinkID=216771.

y busqué en Google y encontré la página oficial de soporte de Microsoft KB2736284 . Entonces hay una herramienta de línea de comandos dism.exe . Así que probé lo siguiente

dism /online /enable-feature /featurename:IIS-ASPNET45

pero se quejó y me dio una lista de nombres de características para probar, así que los probé uno por uno y probé mi página web WebAPI después de cada uno y funcionó después de la de abajo en la lista.

 dism /online /enable-feature /featurename:IIS-ApplicationDevelopment dism /online /enable-feature /featurename:IIS-ISAPIFilter dism /online /enable-feature /featurename:IIS-ISAPIExtensions dism /online /enable-feature /featurename:IIS-NetFxExtensibility45 

Y ahora puedo navegar a mi sitio WebAPI y ver la información API. Eso debería ayudar a algunas personas. [Sin embargo, todavía no estoy completamente fuera de sí y no puedo acceder al sitio web desde fuera de la caja. Sigo trabajando en eso.]

Además, hice algunos pasos anteriores siguiendo las respuestas de otras personas. Puedo confirmar que la siguiente Delegación de funciones necesita ser modificada (aunque me gustaría encontrar una herramienta de línea de comandos para ellas).

 In Feature delegation Change 'Handler Mappings' from Read Only to Read/Write Change 'Modules' from Read Only to Read/Write Change 'SSL Settings' from Read Only to Read/Write 

Para las aplicaciones .NET Core en Windows Server (en mi caso, 2012 con IIS 10) funcionó después de instalar .NET Core Windows Server Hosting bundle ( link ).

Funciona y ahorra mi tiempo. Pruébelo HTTP Error 500.19 – Error interno del servidor – 0x80070021 (IIS 8.5)

La solución que funcionó para mí fue eliminar mi Web.config actual y agregar uno nuevo. Eso me solucionó el problema