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

16

Mi servidor Windows Server 2003 Std rechaza el contenido del servidor ASP.NET. Sirve html normal muy bien, pero cualquier cosa .net, incluso un archivo html de una línea con una extensión ASPX falla en silencio.

Cosas que he probado:

  • Nada en el registro de eventos o IIS WWW registra cuando falla.
  • Fiddler no muestra 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
  • Doy permisos obscenamente altos en todo lo que se me ocurre (control total, lectura, escritura, etc.) a todos los usuarios posiblemente relevantes (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 IIS y ASP.Net

De nuevo: 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!

Michael Haren
fuente

Respuestas:

23

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

  1. ir al panel de control
  2. vaya al área "Componentes de Windows"
  3. eliminar IIS, dejar que se desinstale
  4. reiniciar
  5. vuelva a agregar IIS ( asegúrese de incluir el material ASP.NET cuando marque las casillas ).
  6. Ejecute: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I

Pasé horas depurando esto en un sitio cliente una vez, y ese fue el truco. Desde entonces, cada vez que esto ha sucedido, esta fue la solución.

No estoy seguro de cuál es la causa raíz, pero desgarramos la configuración de IIS una vez que intentamos resolverlo, e incluso tuvimos a Microsoft RDC en el servidor en cuestión durante 2 o 3 horas, y tampoco pudieron ayudar .

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

Sam Schutte
fuente
1
Eso lo hizo. Mucho tiempo desperdiciado en esto con una solución tan insatisfactoria: odio no saber la causa real. Bueno, está funcionando ahora. ¡Muchas gracias, Sam!
Michael Haren el
2
Paso 6: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
Michael Haren
No hay problema, me alegro de poder servirle, ¡porque sé que es doloroso!
Sam Schutte
Además, puede ser que la causa real sea simplemente una mala instalación. Sé que cuando me encontré con esto, todo lo demás se ve bien, pero supongo que en algún lugar el registro o la configuración están atornillados por alguna razón.
Sam Schutte
Puede valer la pena formatear el comando en el paso 6 como código, para que sea más fácil decir que la bandera es una 'i' mayúscula.
Dave Andersen
9

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

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

  • ¿Se está ejecutando IIS?
  • ¿Está funcionando su sitio web?
  • ¿El grupo de aplicaciones de su sitio web funciona correctamente?
  • ¿ASP.NET está instalado y registrado?

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

    aspnet_regiis -ua

    aspnet_regiis -i -enable

  • ¿Se está ejecutando ASP.NET?

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

  • ¿Los permisos están configurados correctamente?

Verifique la pestaña "Directorio de inicio" en las propiedades de su sitio, verifique la configuración de "Permisos de ejecución", debe configurarse para permitir secuencias de comandos. Compruebe también las "Extensiones de servicio web" para asegurarse de que asp.net pueda ejecutarse.

Cuña
fuente
Esta es una lista agradable para referencia futura. Ya había intentado todo eso, excepto los modificadores -a y -able, y la idea blah.aspx. La reinstalación de IIS era lo que se necesitaba. ¡Gracias por la ayuda!
Michael Haren
¿Cómo es una aplicación-piscina funcionando correctamente como? Lo que hace un vistazo aplicación incorrecta de la piscina-corriendo como?
Ian Boyd el
¿Dónde se encuentra la "Extensión de servicio web" para poder asegurarme de que asp.net tiene permiso para ejecutarse?
Ian Boyd el
3

Abra el administrador de IIS, haga clic en la carpeta Extensiones de servicio 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.

Slolife
fuente
Sin embargo, ya está permitido, gracias por la sugerencia
Michael Haren el
2

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

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
Cuenta
fuente
¿Hago esto de manera diferente a lo señalado en mi pregunta? Si no, entonces ya lo intenté.
Michael Haren
Por alguna razón, simplemente ejecutar regiis no ayuda.
Sam Schutte