287 votos

ASP.NET MVC en IIS 7.5

Yo estoy usando Windows 7 Ultimate (64 bits) utilizando Visual Studio 2010 RC. Recientemente me decidí a VS run/debug mis aplicaciones en IIS en lugar de la dev server que viene con él.

Sin embargo, cada vez que intento ejecutar una aplicación MVC, me sale el siguiente error:

HTTP Error 403.14 - Prohibido El servidor Web está configurado para no mostrar el contenido del directorio. Detallada

Información De Error

Módulo DirectoryListingModule

Notificación ExecuteRequestHandler

Controlador De StaticFile Error

Código 0x00000000 Solicitado

URL http://localhost:80/mySite/

Física Ruta de acceso C:\myProject\mySite\

Método De Inicio De Sesión Inicio De Sesión Anónimo

Usuario Anónimo

Coloqué un default.aspx archivo en el directorio y he recibido el siguiente mensaje de error:

HTTP Error 500.21 Interno del Servidor Controlador De Errores "PageHandlerFactory-Integrado" tiene un mala módulo "ManagedPipelineHandler" en su lista de módulos

Hay otros pasos que se me olvidó tomar para conseguir este trabajo?

Notas: he instalado IIS 7.5 después de la instalación de VS 2010 RC. He utilizado el built-in "Crear un Directorio Virtual" botón en la solapa "Web" en el proyecto de MVC "Propiedades" en Visual Studio 2010. Me aseguré de que la aplicación está utilizando la ASP.NET 4 Aplicación de la Piscina.

A continuación son las características instaladas de IIS que tengo.

alt text

448voto

Omar Puntos 16654

ASP.NET 4 no fue registrado en IIS. Había que ejecutar el siguiente comando en la línea de comandos/ejecutar

De 32 bits (x86) de Windows

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

64 bits (x64) de Windows

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

Nota de David Murdoch comentario:

Que el .net la versión ha cambiado desde esta Respuesta fue publicada. Verificación que versión del marco de trabajo es en la carpeta %windir%\Microsoft.NET\Framework64 directorio y cambiar el comando en consecuencia, antes de correr (es actualmente v4.0.30319)

183voto

Mark Boltuc Puntos 1962

Una cosa más para asegurarse de que usted tiene es el siguiente conjunto en su web.config:

 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>
 

62voto

Premchandra Singh Puntos 1164

Asegúrese de que usted tiene es el siguiente conjunto en el web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

Mejor solución:

Aunque por encima de solución funciona muy bien, también puede causar otros problemas mientras se ejecuta todos sus registrado HTTP módulos en cada solicitud (incluso en cada solicitud de .jpg .gif .css .html .pdf, etc) y es, obviamente, el desperdicio de recursos. Lugar

<system.webServer>
<modules>
  <remove name="UrlRoutingModule-4.0"/>
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" preCondition="" />
</modules>
</system.webServer>

Asegúrese de condición de atributo está vacía significa que se ejecutará en todas las solicitudes. [Leer más](http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html"Leer post original")

33voto

ZippyV Puntos 7671

Otra de las razones por las que alguien podría obtener este error si el archivo Global.asax no se encuentra en la carpeta raíz más.

17voto

toddkitta Puntos 375

Yo también estaba recibiendo este error y descubrí que "redirección HTTP" no estaba encendido en Windows Server. Puntos esta entrada del blog esto como well: http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: