Pregunta

Estoy utilizando Windows 7 Ultimate (64 bits) utilizando Visual Studio 2010 RC. Recientemente he decidido tener VS marcha / depurar mis aplicaciones en IIS en lugar del servidor dev que viene con él.

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

  

Error HTTP 403.14 - Forbidden El servidor web está configurado para no mostrar el contenido de este directorio. Detallado

     

Información de errores

     

Módulo DirectoryListingModule

     

ExecuteRequestHandler Notificación

     

Handler StaticFile error

     

Código 0x00000000 solicitada

     

http: // localhost: 80 / miSitio /

     

Física   Ruta C: \ miProyecto \ miSitio \

     

Inicio de sesión Inicio de sesión anónimo Método

     

El usuario anónimo

Me coloca un archivo default.aspx en el directorio y que recibe el siguiente error:

  

Error HTTP 500.21 - Internal Server   error Handler   "PageHandlerFactory-integrado" tiene una   mala módulo "ManagedPipelineHandler" en   su lista de módulos

¿Hay otros pasos que ha olvidado tomar para conseguir este trabajo?

Notas: He instalado IIS 7.5 después de instalar VS 2010 RC. He utilizado el botón incorporado "Crear directorio virtual" en la pestaña "Web" en "Propiedades" del proyecto MVC en Visual Studio 2010. Me aseguré de que la aplicación está utilizando la aplicación ASP.NET 4 piscina.

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

text alt

¿Fue útil?

Solución

ASP.NET 4 no se registró en IIS. Tuvo que ejecutar el siguiente comando en la línea de comandos / run

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 comentario de David Murdoch:

  

Que la versión de .NET ha cambiado   desde que se publicó esta respuesta. Comprobar   qué versión del marco es en   la carpeta% windir% \ Microsoft.NET \ Framework64   directorio y cambiar el comando   en consecuencia antes de ejecutar (es   Actualmente v4.0.30319)

Otros consejos

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

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

Asegúrate de que tienes es el siguiente conjunto en su web.config:

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

Mejor solución:

A pesar de que la solución anterior funciona absolutamente bien , que puede causar otro problema ya que se ejecuta toda su domicilio HTTP módulos en cada petición (incluso en cada petición de .jpg. gif css html .pdf, etc.) y es, obviamente, desperdicio de recursos. En 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 que el atributo condición previa es vacío 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")

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

También estaba recibiendo este error y descubrió que "HTTP redirección" no estaba encendido en Windows Server. Este blog puntos colocar esto así: http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx

Dulce Jesús. He intentado todas las cosas de arriba (pero encontré mi configuración idéntica). Otra solución si está teniendo problemas:

http://support.microsoft.com/kb/980368

Trate de instalar este KB para su sistema. Si usted está viendo 404 puede ser debido a que no tiene esta actualización! - y el módulo ISAPI no está siendo encontrado y no hay mucho que puede hacer al respecto sin que esto

También puede cambiar u Integrado modo AppPool a. Thnx a Michael Bianchi ( https://stackoverflow.com/a/7956546/1143515 ), sólo quiero subrayar que .

Para mí en una Azure Server 2012 R2 IIS 8.5 VM con un 5 aplicación Asp.Net MVC (bin desplegado MVC 5) que tenía que hacer lo siguiente de un elevado cmd pronta aunque tenía 4.5 ya está instalado:

dism /online /enable-feature /featurename:IIS-ASPNET45

Fuente: http://support.microsoft.com/kb/2736284

También la fuerza bruta instalada todas las funciones de IIS con el siguiente PowerShell:

import-module servermanager
add-windowsfeature web-server -includeallsubfeature

Fuente: http: / /www.iis.net/learn/install/installing-iis-85/installing-iis-85-on-windows-server-2012-r2

Ahora mi aplicación está trabajando.

Hemos tenido una aplicación MVC trasladado a un nuevo servidor. .NET MVC 4 y 3 se instaló, pero todavía tiene “Error 403.14". En este caso, esto significa que IIS no entendía que estaba tratando con una aplicación MVC, que buscaba la página por defecto.

La solución fue simple:. HTTP redirección no se ha instalado en el servidor

Administrador del servidor - Roles - Servidor Web (IIS) - Roles Servicios - HTTP redirección: No instalado. Instalado, problema resuelto.

Además, si se precompila su aplicación debe tener

PrecompiledApp.config

en la carpeta raíz de la aplicación de lo contrario se podría conseguir HTTP Error 403.14 también.

Otra posible solución, si se mueve alrededor de su Global.asax, asegúrese de que los puntos de marcado a la clase MvcApplication correcta. Esperamos que esto salvar a alguien en el futuro.

Me había utilizado la extensión IIS WebDeploy importar mis sitios web de IIS 6 a IIS7.5, así que toda la configuración de IIS eran exactamente como lo habían sido en el entorno de producción. Después de probar todas las soluciones proporcionadas aquí, ninguno de los cuales trabajaron para mí, simplemente tenía que cambiar la configuración del grupo de aplicaciones para el sitio web de clásico a Integrado.

Me he encontrado el mismo problema 404,14 repente. Finalmente el problema se había fijado desmarcando "compilación previa al publicar" en la configuración del perfil de publicar.

alteré mi ruta por defecto en un momento en:

routes.MapRoute(
"Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }

Para:

routes.MapRoute(
"Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index" }

Lo que me dio el error. contento de que alguien mencionó enrutamiento, ya que probablemente me he estado en esto para siempre.

En mi caso ASP.NET 4.5 no está instalado en el servidor para la instalación de ASP.NET 4.5 ha solucionado el problema.

Se puede resolver este error mediante la ejecución de cmd como administrador que introducir descripción de la imagen aquí

Haz lo mismo que en la imagen para Windows de 32 bits

Sólo hacer cambios en 64 bits como Framework64 marco en lugar de solamente Que vaya a IIS y refrescar el sitio
Si u todavía tiene algunos cambios de error maquillaje del inventario de aplicación

tuve otro problema que condujo a este problema.

  • Me había asegurado mi grupo de aplicación se ejecuten .NET 4 en el modo integrado
  • Me había quedado aspnet_regiis.exe -i
  • Me había registrado carpeta permisos fueron correctamente ajustado a la cuenta que ejecuta mi grupo de aplicación

Ninguna de estas cosas funcionó. Resultó que en mi web.config bajo system.webServer> módulos que tenían la siguiente:

<remove name="WindowsAuthentication" />

Obviamente, esto elimina el módulo de autenticación ventanas que parecía tocar de alguna manera todo kilter.

Espero que esto ayude a alguien, ya que ese coste más me de una noche!

La interfaz de usuario es un poco diferente en las versiones más recientes de Windows Server. Aquí es donde tiene que habilitar ASP.Net con el fin de conseguir que funcione en IIS

revisión de IIS y Asp.net

Adición de otra solución para este problema.

en mi archivo Global.asax.cs había desactivado archivos php intentos de ser consumido por el oleoducto MVC usando la siguiente:

routes.IgnoreRoute( "{*php}" );

Me había hecho esto antes en un proyecto MVC2 y ha funcionado bien, pero haciendo esto en mi aplicación MVC 3 causado el problema reportado anteriormente.

Sin embargo, otra razón de que esto puede suceder -. RouteConfig.cs su WebApiConfig.cs o no son válidos

En mi caso, tuve una ruta definida como tal (tenga en cuenta el paréntesis en lugar de llave de cierre):

...
routeTemplate: "api/(something}"
...

Por favor nota para usuarios de Windows 8 es necesario añadir / quitar componentes de Windows y quite la versión de .NET reinicio a continuación, volver a instalar a fin de registrarla con IIS. Supongo que esto sucede si usted consigue .net 4.5 de Visual Studio e instalar IIS después.

Por extraño que pueda parecer, reinstalación de IIS fue lo que ha funcionado para mí, con la siguiente instrucción ejecutada desde el interior de la carpeta de la versión .NET:

aspnet_regiis.exe /i

introducir descripción de la imagen aquí

La primera vez que ejecuta este comando, que comenzó recibiendo el error HTTP 403.14. Pero una vez que Runned el comando de nuevo que resuelve el problema.

Obs : Otra cosa también hice fue quitar redirección HTTP desde el servidor cuenta con pantalla Management Server antes de reiinstalling IIS. Tal vez esto también tuvo un impacto en la solución del problema, pero no estoy seguro. Por lo tanto, si la reinstalación de IIS todavía no funciona, por favor, intente eliminar redirección HTTP y vuelve a intentarlo. Es de esperar que puede funcionar para usted también.

Para resolver este problema sin tener que recurrir al modo de 32 bits, tendrá que actualizar el código fuente de este proyecto

public static void RegisterUrlRoutesFromAttributes(RouteCollection routes)
{
    // Enumerate assembly for UrlRoute attributes.
    List<MapRouteParams> routeParams = new List<MapRouteParams>();
    AppDomain.CurrentDomain.GetAssemblies()
        .ToList()
        .ForEach(assembly => routeParams.AddRange(GetRouteParamsFromAttributes(assembly)));

he planteado esta cuestión como una discusión en el foro de discusión en la nube de TI proyecto de CodePlex.

http://itcloud.codeplex.com/discussions/262000

Esto funcionó para mí y que podría ser útil a otro.

Tal vez todos los componentes necesarios no están presentes o / y no todos están registrados correctamente. Para resolver esto, trate de desactivar todas las opciones dentro de Panel de control -> Activar las características de Windows o desactivar -> Internet Information Server -> World Wide Web Services -> Características de desarrollo de aplicaciones, desactive todas las opciones y volver a revisar todo y luego reiniciar el IIS y comprobar si el problema se resuelve.

introducir descripción de la imagen aquí

Si está ejecutando IIS 8.5 en Windows 8 o Server 2012, puede encontrarse con que se ejecuta MVC 4/5 (.NET 4.5) no funciona en un directorio virtual. Si crea una entrada de host local en el archivo de host a volver a su punto de máquina local y luego apuntar un nuevo sitio web de IIS local para esa carpeta (con la entrada de encabezado de host correspondiente) encontrará funciona entonces.

I creó un nuevo espacio de nombres (y por tanto de la carpeta) idéntica a la ruta a un controlador (por ejemplo MvcApp/Test/SomeClasses.cs y MvcApp/Controllers/TestController.cs). Esto se tradujo también en un 403.14!

Para mí, la solución fue añadir los paquetes Microsoft.AspNet.WebPages NuGet (además de que es la maquinilla de afeitar y las dependencias de infraestructura) a mi proyecto web.

Infraestructura había que volver a instalar la fuerza, ya que no se añadió como una referencia en un principio.

En mi caso .NET CRL Versión en prppertires del grupo de aplicaciones se establece en Sin código (no sé por qué) administrado. Si se establece en .NET CRL Versión v4.0.30319 resuelto el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top