18 votos

¿Por qué se niega IIS a servir contenido de ASP.NET?

Mi servidor Windows Server 2003 Std se niega a servir contenido ASP.NET. Sirve html regular sin problemas, pero cualquier archivo .net, incluso un archivo html de una sola línea con extensión ASPX, falla silenciosamente.

Las cosas que he intentado:

  • Nada en el registro de eventos o en los registros WWW de IIS cuando falla.
  • Fiddler no muestra ninguna respuesta
  • Reinstalé .NET con
    • C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -U
    • C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -I
  • He dado permisos excesivamente altos en todo lo que se me ocurre (control total, lectura, escritura, etc.) a todos los usuarios relevantes posibles (IUSER*, ASP.NET, etc.).
  • Confirmé que las extensiones de servicio web ASP.Net v1 y v2 están "permitidas" en IIS
  • Confirmé que el Administrador del Servidor tenía habilitados los roles de IIS y ASP.Net

Nuevamente, este es el escenario:

¡Cualquier orientación será muy apreciada!


Solución: Reinstalé según las instrucciones a continuación y ahora funciona. ¡Gracias a todos!

23voto

dave Puntos 396

Me he encontrado con este problema exacto varias veces, y cada vez, la solución fue:

  1. ir al Panel de Control
  2. ir a la zona de "Componentes de Windows"
  3. quitar IIS, dejarlo desinstalar
  4. reiniciar
  5. volver a añadir IIS (asegúrate de incluir las cosas de ASP.NET cuando marques las casillas).
  6. Ejecutar esto:

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -I

Pasé horas depurando este problema una vez en un sitio de cliente, y esa fue la solución. Desde entonces, cada vez que ha ocurrido esto, esta fue la solución.

No estoy seguro cuál es la causa root, pero una vez desmontamos la configuración de IIS tratando de entenderlo, e incluso tuvimos a Microsoft conectándose remotamente al servidor en cuestión durante 2 o 3 horas, y ellos tampoco pudieron ayudar.

Así que lo considero como un error no documentado en ASP.NET/IIS.

1 votos

¡Eso lo solucionó! ¡Tanto tiempo perdido en esto con una solución tan insatisfactoria, odio no saber la causa real. Bueno, ahora funciona, ¡muchas gracias, Sam!

2 votos

Paso 6: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -I

0 votos

No hay problema - ¡me alegra poder ayudar, porque sé que esto es un doloroso!

10voto

Edward Luong Puntos 108

Prueba esto: http://localhost/blah.aspx (debería ser una página inexistente). Si te da un error 404 en lugar de la página de error de asp.net entonces asp.net no está funcionando, si te da un error 403 entonces los permisos para el sitio están incorrectos.

Aquí tienes una lista de verificación que puede ayudar:

  • ¿Está ejecutándose IIS?

  • ¿Está funcionando tu sitio web?

  • ¿Está funcionando correctamente el app-pool para tu sitio web?

  • ¿Está instalado y registrado ASP.NET?

    cd /d %windir%\Microsoft.Net\Framework\v2.0.50727

    aspnet_regiis -ua

    aspnet_regiis -i -enable

  • ¿Está ejecutándose ASP.NET?

Revisa la pestaña "ASP.NET" en las propiedades de tu sitio web. Asegúrate de que esté utilizando la versión correcta.

  • ¿Están los permisos configurados correctamente?

Revisa la pestaña "Directorio de Inicio" en las propiedades de tu sitio, verifica la configuración de "Permisos de Ejecución", debería estar configurado para permitir scripts. También verifica las "Extensiones de Servicio Web" para asegurarte de que asp.net tenga permitido ejecutarse.

0 votos

Esta es una lista útil para futuras referencias. Ya había probado todo eso excepto los interruptores -a y -enable, y la idea de blah.aspx. Volver a instalar IIS fue lo que funcionó. ¡Gracias por la ayuda!

0 votos

¿Cómo se ve un app-pool funcionando correctamente? ¿Cómo se ve un app-pool funcionando incorrectamente?

0 votos

¿Dónde se encuentra la "Extensión de Servicio Web" para asegurarme de que asp.net está permitido para ejecutarse?

3voto

slolife Puntos 262

Abra el administrador de IIS, haga clic en la carpeta de Extensiones de servicios web en el panel izquierdo. Luego haga clic en la Extensión ASP.NET en el panel derecho y haga clic en el botón Permitir.

0 votos

Ya está permitido, gracias por la sugerencia. Gracias sin embargo.

2voto

No es necesario desinstalar / reinstalar IIS para restablecer el soporte .net, según la respuesta anterior. Simplemente ejecute la utilidad aspnet_regiis.exe que se encuentra en la carpeta de framework apropiada, por ejemplo:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

0 votos

¿Hago esto de manera diferente a como se indica en mi pregunta? Si no es así, entonces ya lo intenté.

0 votos

Por cualquier razón, simplemente ejecutar regiis no ayuda.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X