2012-02-07 6 views
6

Tengo una aplicación web muy simple (asp.net MVC3, .net 4, con IIS no integrado en Visual Studio servidor, Windows 7 de 64 bits). Cuando cambio la configuración en el grupo de aplicaciones para mi aplicación y establezco 'Habilitar aplicaciones de 32 bits' en False, aparece la vista de mi aplicación, pero no muestra ninguno de los contenidos estáticos (Content/Site.css o Scripts/myScript.js) arriba. En cambio, obtengo el código de estado 500 en esas solicitudes.¿Por qué mi IIS 7 se niega a servir css o js cuando cambio 'Habilitar aplicaciones de 32 bits' a False

HTTP Error 500.0 - Error interno del servidor La página no se puede mostrar porque se ha producido un error interno en el servidor.

La razón por la que estoy cambiando este valor es porque estoy tratando de usar Oracle.DataAccess.dll de 64 bits y si tengo este valor establecido en True, hace que el grupo de aplicaciones se ejecute en modo WOW64 y intenta cargar el dll con el formato incorrecto.

He buscado en línea por un tiempo y no puedo encontrar mucha información sobre esto. Intenté jugar con permisos en los archivos, intenté ejecutar aspnet_regiis con todo tipo de banderas. Estoy sin ideas. ¿Por qué IIS no publicará este contenido estático cuando se ejecuta en modo de 64 bits?

Respuesta

4

Es muy probable que en su configuración de IIS, un módulo de 32 bits solo lo instale accidentalmente, lo que impide que toda la aplicación web se ejecute en el módulo de 64 bits. Esa es una causa común de esos 500 errores.

Error solicitud de búsqueda debe ser capaz de mostrar más información sobre qué módulo es,

http://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis

+0

También use el violín para ver exactamente lo que se solicita. – RickAndMSFT

+0

He configurado el seguimiento de solicitudes fallidas y parece que no se ha detectado el error 500. Lo tengo configurado para atrapar 400-550. De hecho, resolví mi problema obteniendo un ensamblado de Oracle de 32 bits. Tu sugerencia es probablemente lo que está causando lo que estoy viendo, pero no tengo tiempo para depurar esto nunca más. Aprendí algo sobre el seguimiento de solicitudes fallidas, así que gracias. – Gerfboy

+0

¿El enlace está roto, alguna recomendación? –

1

Tengo que poner un comentario aquí ya que no tengo suficientes puntos para comentar.

Ha intentado comprobar el mapeo de controladores en su sitio web.

Bajo asignaciones de controlador: Compruebe que el StaticFile Handler aún está registrado y que el camino se asigna a *

también comprobar que está habilitado.

+0

Mi StaticFileHandler aún está registrado y activado, y se asigna a *. No hay dados aquí. – Gerfboy

17

Cuando tuve este error que había un problema en system.webServer \ StaticContent en web.config.

Debido a la diferencia entre los servidores, se requirió un para un tipo MIME particular en una máquina, pero este error se produjo en otra.

El failsafe sería incluir un para cada uno que tenga en web.config para evitar obtener un 500 si no es necesario.

+2

Esta respuesta funcionó para mí. En IIS 8, tiene .woff y .mp4 de forma predeterminada, y mi web.config también intentaba declarar los tipos de mime. Eliminé el tipo de mime de contenido estático del web.config y comencé a trabajar. – Base33

+0

Tuve el mismo problema, porque las definiciones duplicadas para mp4 en web.config y machine.config !!! ¡Gracias! – KiNG

+0

¡Gracias, esta respuesta me ahorrará mucho tiempo! – user752746

3

Los tipos de verificación doble mime están asignados correctamente, podría ser porque tiene entrada doble de tipos mimet para el sitio local web.config y el servidor en sí.

0

Acabo de tener este problema yo mismo con la seguridad de Windows habilitada y un acceso ananamous desactivado.

La solución en mi caso fue agregar el sitio localhost a mis sitios intranet locales. Ejecutar Visual Studio en modo administrador también puede solucionar el problema.

Internet Settings

Cuestiones relacionadas