Esto está volviendo loco a todo el equipo. Debe haber alguna parte simple de IIS o nuestro servidor web mal configurada, pero cada vez que intentamos ejecutar la aplicación web ASP.NET en IIS 7.5, obtenemos el siguiente error ...
Aquí está el error completo:
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration
data for the page is invalid.
`Detailed Error Information`
Module IIS Web Core
Notification Unknown
Handler Not yet determined
Error Code 0x8007000d
Config Error
Config File \\?\E:\wwwroot\web.config
Requested URL http://localhost:80/Default.aspx
Physical Path
Logon Method Not yet determined
Logon User Not yet determined
Config Source
-1:
0:
La máquina está ejecutando Windows Server 2008 R2 . Estamos desarrollando nuestra aplicación web con Visual Studio 2008 .
Según Microsoft, el código 8007000d significa que hay un error de sintaxis en nuestro web.config, excepto que el proyecto se construye y funciona bien localmente. Mirar el web.config en el Bloc de notas XML tampoco muestra ningún error de sintaxis. Supongo que debe ser algún tipo de mala configuración de mi parte ...?
¿Alguien sabe dónde puedo encontrar más información sobre el error? Nada se muestra en EventViewer, ya sea :(
No estoy seguro de qué más sería útil mencionar ...
La asistencia es muy apreciada. ¡Gracias!
ACTUALIZACIONES! - PUBLICADO WEB.CONFIG ABAJO
Ok, desde que publiqué la pregunta original arriba, he rastreado las líneas precisas en la web.config que estaban causando el error.
Aquí están las líneas (aparecen entre <System.webServer>
etiquetas) ...
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpHandlers>
Nota: Si elimino las líneas entre el <httpHandlers>
TODAVÍA obtengo el error. Literalmente tengo que eliminar <httpHandlers>
(y las líneas intermedias) para dejar de recibir el error anterior.
Sin embargo, una vez hecho esto, obtengo un nuevo error 500.19. Afortunadamente, esta vez IIS realmente me dice qué parte de web.config está causando un problema ...
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
Al observar estas líneas, está claro que el problema se ha migrado aún más dentro de la misma <system.webServer>
etiqueta a la <handlers>
etiqueta.
El nuevo error también es más explícito y se queja específicamente de que no reconoce el atributo "validar" (como se ve en la tercera línea anterior). Al eliminar este atributo, se queja de que la misma línea no tiene el atributo "nombre" requerido. Al agregar este atributo, aparece el error ASP.NET ...
No se pudo cargar el archivo o ensamblado 'System.web.Extensions, Version = 1.0.61025.0, Culture = neutral, PublicKeyToken = f2cb5667dc123a56' o una de sus dependencias. El sistema no puede encontrar el archivo especificado.
Obviamente, creo que estos nuevos errores acaban de surgir de mí al eliminar las <httpHandlers>
etiquetas en primer lugar, obviamente son necesarias para la aplicación, por lo que la pregunta sigue siendo: ¿por qué estas etiquetas provocarían un error en IIS en primer lugar? ??
¿Necesito instalar algo en IIS para que funcione con ellos?
Gracias de nuevo por cualquier ayuda.
WEB.CONFIG
Aquí están las partes problemáticas de nuestra web . Configuración ... ¡Espero que esto ayude a alguien a encontrar nuestro problema!
<system.Web>
<!-- stuff cut out -->
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</modules>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
</system.webServer>
fuente
web.config
. Comienzan con<!--
y terminan con-->
.Respuestas:
Tenía estos síntomas exactos y mi problema era similar al de Peter. Estaba configurando un proyecto existente en un nuevo servidor. Mi proyecto hacía referencia al módulo de reescritura de URL IIS7, pero aún no se había instalado en el nuevo servidor. Instalarlo solucionó mi problema.
Puede usar el Instalador de plataforma web de Microsoft para instalarlo. Ejecútelo, seleccione Productos , en el menú de la izquierda, seleccione Servidor y busque URL Rewrite en la lista e instálelo.
O puedes descargarlo aquí .
fuente
Después de luchar con esto por un día en una nueva máquina, me encontré con los siguientes enlaces. Me faltaban los módulos de reescritura. Esto solucionó todo.
http://forums.iis.net/t/1176834.aspx
http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
fuente
<rewrite>
etiquetas pero no tenía instalado urlrewrite. Comenté las<rewrite>
cosas y mi sitio se compiló y cargó de inmediato.¡Ajá! He superado este problema! Dios mío, era una bestia para alguien como yo con experiencia limitada en IIS. Realmente pensé que iba a pasar todo el fin de semana arreglándolo.
Aquí está la solución para cualquier persona que alguna vez venga con este malvado problema.
Lo primero que debe tener en cuenta: si espera que esta sea su solución, asegúrese de tener el mismo Código de error ( 0x8007000d ) y Fuente de configuración ( -1: 0:) . Si no, esta no es tu solución.
Lo siguiente a tener en cuenta: ¡ AJAX no está instalado correctamente en su web.config!
Arregle eso siguiendo esta guía:
http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx
Luego, instale las extensiones AJAX 1.0 en su servidor de producción, desde este enlace:
¡Eso es!
fuente
Mismo problema en Server 2016, IIS 10, error 500.19. Instalé el módulo de redireccionamiento y funcionó. No sé por qué esto no se incluyó por defecto.
https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads
Para ser claros, parece que web.config de IIS 7 funcionará o está diseñado para funcionar, pero la falta de este módulo da el error realmente extraño e inútil. Buscar en Google lo lleva a una página de Microsoft que insiste en que su sitio está dañado o su web.config está dañado. Ninguno de los dos parece ser el caso.
Esa página inútil está aquí: https://support.microsoft.com/en-us/kb/942055
fuente
Tuve el mismo problema que el anterior, el mismo código de error, etc. Configuración de un sitio web local en Windows 8. Después de mucho buscar, se descubrió que nos faltaba la reescritura de URL. Después de descargarlo, todo estuvo bien. :)
fuente
Solo agregué un answear porque pasé horas tratando de resolver los mismos síntomas (pero un problema diferente):
Una posible causa es un dll x86 en un grupo de aplicaciones de 64 bits, la solución es habilitar aplicaciones de 32 bits en la configuración del grupo de aplicaciones.
fuente
Para mí, volver a registrar asp.net para iis fue el truco. Esperemos que eso ayude a alguien más.
fuente
Para resumir en base a las respuestas aquí y en otros lugares:
fuente
Otra forma de obtener 500.19 errot sin razón aparente es la falta de directorios y / o permisos rotos en ellos.
En el caso de esta pregunta, creo que la pregunta se refiere a la versión completa de IIS. Asumo esto debido a esta línea:
El instalador de IIS generalmente crea el
wwwroot
archivo para usted y esa es la carpeta raíz predeterminada para todos los sitios web y el punto de montaje para directorios virtuales. Siempre existe, así que no hay problema, por lo general no te importa mucho.Como los archivos web.config son jerárquicos, puede colocar allí un archivo web.config maestro y tener algunas configuraciones de raíz allí, y todos los sitios lo heredarán. IIS comprueba si ese archivo existe e intenta cargarlo.
Sin embargo, la primera parte divertida:
Este directorio existirá si tiene IIS instalado correctamente. Si no existe, obtendrá un error de clase 500. Sin embargo, si juegas con permisos de archivo / directorio, especialmente los 'avanzados', puedes negar accidentalmente que la cuenta de servicio IIS escanee / lea el contenido de este directorio. Si IIS no puede verificar si ese wwwroot \ web.config existe, o si existe y IIS no puede abrirlo y leerlo - bam - error de clase 500.
Sin embargo, para IIS completo es muy poco probable. Los desarrolladores / administradores que trabajan con IIS completo generalmente son reacios a jugar con ellos,
wwwroot
por lo que generalmente se mantiene configurado correctamente.Sin embargo, en IIS Express ..
Por lo general, IIS Express "simplemente funciona". A menudo, los desarrolladores que usan IIS Express a menudo no son conscientes de cuánto se parece internamente al IIS real.
Puede tropezar fácilmente con el hecho de que IIS Express tiene su propio archivo applicationHost.config y VS lo crea y administra por usted (correctamente, hasta cierto punto) y ese tipo de revelación que le dice que no es tan simple y puntual. y haga clic como parece al principio.
Aparte de ese archivo de configuración, VisualStudio también crea una estructura de directorio vacía debajo de su
Documents
carpeta. Si no recuerdo mal, IIS Express considera que estas carpetas son los directorios raíz de su (s) sitio (s) web sobre los que se montan los directorios virtuales con su código.Más tarde, al igual que IIS, cuando se inicia IIS Express, espera que estas carpetas existan y busca archivos raíz web.config allí. El sitio web.config archivos. Casi siempre, faltan estos archivos web.config, y eso está bien porque no los quiere, tiene su ** aplicación web.config ", se colocan con el resto del contenido en directorios virtuales.
Ahora, la segunda parte divertida es: IIS Express espera que los directorios vacíos. Pueden estar vacíos, pero necesitan existir. Si no existen, recibirá un error de clase 500 que le indica que no se puede acceder al archivo "web.config" en esa ruta.
La primera vez que me topé con este problema fue cuando estaba limpiando mi disco duro. Encontré esa carpeta 'documentos \ sitios web', llena de basura, reconocí varios proyectos de hace un año en los que ya no trabajo, todos vacíos, ni un solo archivo, así que lo eliminé todo. Una semana después, bam, no puedo ejecutar / depurar ninguno de los sitios en los que estaba trabajando en este momento. El error fue 500.19, no se puede leer el archivo de configuración.
Entonces, si usa IIS Express y ve un error de clase 500 que dice acerca de la configuración de lectura, revise cuidadosamente el mensaje de error y lea todas las rutas mencionadas. Si ves algo como:
Vaya allí exactamente donde indica el error, asegúrese de que estas carpetas existan, asegúrese de que la cuenta de trabajo de IIS pueda recorrerlas y leerlas, y si nota que algo está mal, tal vez sea eso.
Por cierto. En VisualStudio, en ProjectProperties / Web hay un botón "Crear directorio virtual". Esencialmente hace esto mismo, por lo que puede probarlo primero, pero IIRC también puede borrar algunas veces las secciones de configuración de sobrescribir / intercambiar en el archivo applicationHost.config, así que tenga cuidado con ese botón si tiene configuraciones personalizadas allí.
fuente
En mi caso, había algo mal con la instalación de .NET Core Windows Hosting Bundle.
Lo instalé y reinicié IIS usando ("net stop was / y" y "net start w3svc") después de la instalación, pero obtendría ese error 500.19 con el código de error 0x8007000d y Config Source -1: 0 :.
Logré resolver el problema reparando la instalación de .NET Core Windows Hosting Bundle y reiniciando IIS usando los comandos que mencioné anteriormente.
¡Espero que esto ayude a alguien!
fuente
¡Este encantador error detallado todavía está presente en 2019! Solo quiero agregar que si su
web.config
es válido y accesible, lo más probable es que sea un problema de dependencia .Según lo mencionado por el OP, era un
AJAX
módulo, y como por otros comúnmente, elRewrite
módulo. Simplemente mantenga los ojos abiertos en su web. Configure a qué módulos y bibliotecas hacen referencia sus etiquetas, ya que el código de error 0x8007000d puede referirse a CUALQUIER dependencia .¡En mi caso, no me di cuenta de que
AspNetCore
faltaba el paquete y tuve que instalarlo! Tan feliz que encontré esta publicación !!fuente
Esto puede o no estar relacionado ... Comencé con el mismo error mencionado anteriormente, comencé a buscar en Google, hacer cambios, obtener nuevos errores, bucle sin fin.
El cambio que me provocó ese error fue interferir con la Delegación de funciones en el Administrador de IIS en la sección Administración del servidor. Lo siento, no puedo recordar cuál cambié, pero googlear podría ayudar.
Eso me llevó más allá del primer error a una corriente completamente nueva de otros, algunos totalmente sin sentido. (Obtendría un error al ejecutar bajo un directorio virtual, convertirlo en una aplicación produjo otro error, etec, etc.). Lo que finalmente resolvió esta serie de errores fue: administrador de IIS, agrupaciones de aplicaciones, DefaultAppPool, habilitar aplicaciones de 32 bits = verdadero
Había iniciado esta aplicación en un cuadro de Windows XP de 32 bits, y ahora lo estoy ejecutando en un cuadro de Windows 7 de 64 bits.
Espero que esto ayude a alguien más.
fuente
Mi IIS 7.5 no comprende la etiqueta en web.config. En VS 2010 también se subraya esa etiqueta. Verifique su archivo de configuración con precisión para encontrar todas las etiquetas subrayadas. Lo puse en el comentario y el error desaparece.
fuente
Comente las siguientes líneas en el archivo web.config.
Esto funcionará
fuente
Yo tenía el mismo error. Tenía un sitio IIS con .NET Framework versión 2.0, pero mi aplicación necesitaba 4.0. Cambié la versión y funcionó.
Publicar solo como un recordatorio si alguien podría tener el mismo problema.
fuente
Asegúrese de que todas sus características de IIS estén habilitadas correctamente.
Desplácese hasta Servicios de información de Internet
Abra el cuadro desplegable World Wide Web plus
fuente
La siguiente configuración fue la causa de mi problema:
Nota: Eliminé esta sección para pruebas locales, ya que funciona bien en Azure.
fuente
Tuve el mismo problema en Windows 7.
La solución fue ir a la configuración básica> conectarse como> usuario específico - e iniciar sesión como usuario, en lugar de la "transferencia" predeterminada
Esto solucionó el problema para mí.
fuente
Windows 7
Prueba esto,
ejecute cmd como administrador.
Desinstala todos los iis.
Vuelva a instalar iis y normalmente es trabajo
Alain
fuente
Obtuve este error al poner la
<customErrors>
etiqueta dentro de en<system.webServer>
lugar de a<system.web>
dónde pertenece. Había un pequeño garabato debajo de la<customErrors>
etiqueta, pero no lo noté de inmediato.fuente
Similar a la respuesta principal , recibimos esta excepción increíblemente inútil debido a la falta de un módulo IIS CORS. Fue exactamente el mismo error con el código de error (0x8007000d) y la fuente de configuración (-1: 0 :), pero la instalación del módulo de reescritura de URL no lo solucionó.
Recientemente habíamos actualizado web.config para habilitar CORS para algunos desarrolladores que lo necesitaban, pero no esperábamos que fuera necesario para todos los desarrolladores instalar el módulo IIS CORS. Desafortunadamente parece que es obligatorio.
Para solucionarlo, instale el módulo IIS CORS desde aquí .
fuente
Si está implementando la aplicación asp.net.core, también debe instalar el paquete de alojamiento principal .net. https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-3.0#install-the-net-core-hosting-bundle
fuente