ASP.NET: Error HTTP 500.19 - Error interno del servidor 0x8007000d

115

Estoy replicando la implementación de aplicaciones web y encontré varios problemas relacionados con HTTP Error 500.19. Mi máquina ejecuta Windows 7 mientras que el desarrollo de trabajo usa Windows 8 . Estamos desarrollando nuestra aplicación web con Visual Studio 2010 .

Primero, obtuve un código de error 0x80070021, similar al publicado aquí . Actualizo mi web.config de acuerdo con la respuesta aceptada y luego obtuve el siguiente código de error (que es similar al publicado aquí ).

HTTP Error 500.19 - Internal Server Error
Error Code 0x8007000d
Config Source -1: 0:

He leído la definición de síntomas en la página de soporte de Microsoft y la causa del error es:

Este problema se produce porque el archivo ApplicationHost.config o el archivo Web.config contiene un elemento XML con formato incorrecto.

y la solucion es

Elimine el elemento XML con formato incorrecto del archivo ApplicationHost.config o del archivo Web.config.

Sin embargo, el web.config que utilicé funciona perfectamente en el entorno de desarrollo original.

Esto es lo que he comprobado y probado hasta ahora:

  1. Instale ASP.NET llamando a aspnet_regiis -i
  2. Configurar mi aplicación para usar un grupo de aplicaciones diferente (ASP.NET v4.0, .NET v4, etc.)
  3. El archivo ApplicationHost.config sigue usando el valor predeterminado de Windows 7.

Esto es parte de mi Web.Config

<system.webServer>
    <section name="handlers" overrideModeDefault="Allow" /> 
    <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
    <handlers>
        <remove name="UrlRoutingHandler" />
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </handlers>
    <urlCompression doStaticCompression="true" doDynamicCompression="false"></urlCompression>
    <directoryBrowse enabled="true" />
    <defaultDocument>
        <files>
            <add value="Logon.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

He leído publicaciones similares / duplicadas / cerradas (alrededor de 13) en stackoverflow, probé todas excepto la respuesta relacionada con Ajax (está relacionada) y todavía no tengo ni idea de cuál es el error.

¿Alguien sabe cómo solucionar este error? (Y si es posible, es necesario verificar una lista completa de cosas para que podamos reducir publicaciones similares como esta). Estoy listo para brindar más detalles.

David
fuente
Acabo de arreglar este problema. Si bien el error apunta al archivo web.config, también puede ser un problema con appsettings.config. Si alguno de ellos tiene un formato incorrecto, obtendrá el mismo error.
PGardockiDotNet

Respuestas:

273

El error 0x8007000d significa que falta el módulo de reescritura de URL (al que se hace referencia en web.config) o que no está instalada la versión adecuada.

Simplemente instale el módulo de reescritura de URL a través del instalador de la plataforma web.

Recomiendo verificar todas las dependencias de web.config e instalarlas.

Tomas Kubes
fuente
23
Ojalá IIS diera un mensaje de error más descriptivo, si hubiera dicho "Módulo no reconocido: UrlRewritingNet", habría ahorrado dos horas esta mañana. +1 por terminar con mi dolor :)
AlexFoxGill
17
Gracias. Se agregó "Url Rewrite 2.0" a través del Instalador de plataforma web y luego se corrigió.
Cihan Yakar
Tuve el mismo problema, pasé años mirando archivos XML "corruptos" hasta que me topé con este comentario que mencionaba el módulo de reescritura de URL. ¡Eso fue suficiente para activar mi recuerdo de haber resuelto exactamente lo mismo hace unos meses! (Lo estoy escribiendo esta vez) ¡Gracias!
anton
4
Bueno, incluso Web Platform dijo que se había "instalado", sin embargo, no se mostró en el IIS, voy aquí iis.net/downloads/microsoft/url-rewrite , descargo la versión adecuada, elimino la actual y vuelvo a instalar, cerrar IIS y reiniciar IIS, ahora puedo ver "URL Rewrite".
Box Very
Muchas gracias. Esta respuesta me salvó el día. Instalé 'reescritura de URL' a través del instalador de la plataforma web en IIS 10, servidor de Windows 2016 y el error desapareció.
Anil Gupta
34

Al intentar configurar un sitio web .NET Core 1.0 , recibí este error y probé todo lo demás que pude encontrar sin suerte, incluida la verificación del archivo web.config, los permisos IIS_IUSRS, el módulo de reescritura de URL de IIS, etc. Al final, instaló DotNetCore.1.0.0-WindowsHosting.exe desde esta página: https://www.microsoft.com/net/download y comenzó a funcionar de inmediato.

Enlace específico para descargar: https://go.microsoft.com/fwlink/?LinkId=817246

Adrian Carr
fuente
4
¡Gracias hombre! Esto es lo que necesito para mis aplicaciones principales. Aquellos que quieran saber cómo alojar sitios web principales en iis, pueden ir a docs.microsoft.com/en-us/aspnet/core/publishing/iis
muhihsan
1
Esto es para todas las versiones de Core, no solo para la 1.0. (El núcleo debe instalarse en el servidor)
Patrick
1
Eso funcionó para mí después de probar todo lo demás. Gracias.
Andrew
para obtener la última versión, puede ir aquí docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/…
Leonard AB
1
Gracias por esto, pude hacerlo funcionar ejecutando una reparación de mi instalación de DotNetCore.
Shane
21

En mi caso, debido a que había reinstalado iis, necesitaba registrar iis con dot net 4 usando este comando:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
max
fuente
21

Instale la reescritura de URL:

ACTUALIZACIÓN: ahora está disponible aquí (y funciona con IIS 7-10):

https://www.iis.net/downloads/microsoft/url-rewrite

Asegúrese de tener lo siguiente configurado como 'Permitido' para su servidor IIS:

ingrese la descripción de la imagen aquí

Chris Halcrow
fuente
Gracias por el enlace! Instalé esto desde las funciones Agregar / Eliminar, pero eso no lo solucionó. Solo funcionó descargarlo desde ese enlace.
Luke
5

Es un poco tarde para la fiesta aquí, pero he estado luchando con exactamente el mismo problema (síntomas) y maldiciendo la falta de informes de detalles de errores. Funcionó bien en máquinas IIS 8+, pero Win 7 obtuvo estos errores INSTANTES HTTP 500.19. Para mí fue tan tonto como tener un elemento de configuración no compatible en el archivo de configuración:

 <applicationInitialization doAppInitAfterRestart="true">
  <add initializationPage="/" />
</applicationInitialization>

Entonces, mientras ejecutaba viejos archivos web.config funcionaba bien, simplemente los diferencié y comencé a cortar en bloques nuevos hasta que la página comenzó a cargarse. Si hubiera visto esto como una respuesta, habría seguido este camino de inmediato, ya que sabía que ninguna de las soluciones populares era relevante. Ahí vas :)

barbatron
fuente
Este era mi problema. ¡Gracias!
Erik W
También tuve este problema. ¡Gracias!
José Margaça Lopes
4

En mi caso (.Net Core Web API) para este problema HTTP Error 500.19 - Error interno del servidor 0x8007000d

Primero descargue dotnet-hosting-3.0.0-preview5-19227-01-win (.Net Core 3) o dotnetcore 2 hasting windows

https://download.visualstudio.microsoft.com/download/pr/5bed16f2-fd1a-4027-bee3-3d6a1b5844cc/dd22ca2820fadb57fd5378e1763d27cd/dotnet-hosting-3.1.4-win.exe

Cualquier aplicación .net core 3.1, ya sea angular o mvc, necesitaría esto.

En segundo lugar, instálelo como administrador Abra cmd como administrador, escriba iisreset, presione enter

Así que actualice su aplicación localhost

Saludos cordiales MMTofighi de Irán

hombre persi
fuente
1

Problema resuelto. Estos son los pasos que probé:

  • Habilite la aplicación de 32 bits en IIS -> Grupo de aplicaciones -> Configuración avanzada
  • Copie System.EnterpriseServices.dll y System.EnterpriseServices.Wrapper.dll de C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 a la carpeta bin de la aplicación
  • Haga comentarios / descomentarios en las secciones de web.config y encontró ese problema relacionado con la DLL a la que se hace referencia.

La configuración que comenté la anterior que agregué:

<section name="handlers" overrideModeDefault="Allow" /> 
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow"/>
  • Agregue el FasterFlect.DLL requerido utilizado por Combres.DLL v2.1.0.0 a la carpeta bin de la aplicación (debe descargar el zip completo de Combres codeplex, porque la DLL de Fastflect V2.0.3732.24338 requerida no se puede encontrar en el codeplex de Fastflect) y otros DLL. Para mayor comodidad, utilice Combres.DLL completo (1,3 MB)
  • Compruebe que las versiones de DLL y los tokens de clave pública estén configurados correctamente en web.config utilizando una herramienta, por ejemplo .NET Reflector
David
fuente
1

Entiendo que este error puede ocurrir por muchas razones diferentes. En mi caso, fue porque desinstalé el servicio WSUS de Server Roles y todo el IIS se cayó. Después de investigar un poco, descubrí que la desinstalación de WSUS elimina algunas dlls que se utilizan para realizar la compresión http. Como faltaban esos dlls y el IIS todavía los estaba buscando, hice un reinicio usando el siguiente comando en CMD:

appcmd set config -section:system.webServer/httpCompression /-[name='xpress']

¡Bingo! El problema está resuelto ahora. No olvide ejecutarlo como administrador. Es posible que también deba hacer "iisreset". Por si acaso.

Espero que ayude a otros. Salud

Sabbir Hassan
fuente
1

Enciendo .Net Framework 3.5 y 4.5 Advance Service en Control Panel-> Programs and Features->. Turn Windows features on or offFunciona para mí.

Ahmadreza Farrokhnejad
fuente
1

Una reparación del paquete de alojamiento DotNetCore funcionó para mí. : /

IAmCoder
fuente
0

Tuve este problema con un nuevo servicio web. Lo resolvió agregando acceso de solo lectura para Todos en Propiedades-> Seguridad para la carpeta en la que se encontraba el servicio.

un héroe llamado rana
fuente
-1

Para mí, se trataba de configurar mi servidor web para utilizar la última y mejor tecnología para admitir mi aplicación ASP.NET 5.

La siguiente URL me dio todos los consejos que necesitaba:

https://docs.asp.net/en/1.0.0-rc1/publishing/iis-with-msdeploy.html

Espero que esto ayude :)

Jeff Moretti
fuente
2
¿Puede describir algunos de los puntos importantes contenidos en el enlace? De esta manera, la respuesta puede seguir siendo útil si el enlace se rompe o no está disponible.
Mhatch