asp.net mvc 2 - tutorial - Un documento predeterminado no está configurado para la URL solicitada y la exploración de directorios no está habilitada en el servidor
web forms c# (8)
Acabo de implementar mi sitio web asp.net mvc-2 en un servidor (usando dotnetpanel). Pero obteniendo este error
A default document is not configured for the requested URL, and directory browsing is not enabled on the server.
¿Qué ajustes necesito? Su servidor de hosting basado en dotnetpanel.
¿Ha agregado una ruta predeterminada a esta clase?
public class RouteConfig {
public static void RegisterRoutes (RouteCollection routes) {`
//"HomePage" is the root view of your app
routes.MapRoute (
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
controller = "Home", action = "HomePage", id = UrlParameter.Optional
}
);
}
}
`Después de eso en Global.asax.cs, agregue esta línea al método Application_Start ():
RouteConfig.RegisterRoutes (RouteTable.Routes);
Tuve este problema después de hacer una actualización de MVC4 a MVC5 después de this publicación y tuve esa línea comentada por una razón que he olvidado.
¡Espero que esto ayude!
¿Qué versión de IIS está ejecutando su host? Una cosa para intentar es poner un archivo ficticio default.aspx en la carpeta raíz (esto no se usará cuando MVC esté funcionando, pero puede deshacerse de este problema).
Asegúrese de tener su página predeterminada nombrada como index.aspx y no algo como main.aspx o home.aspx . Y también asegúrese de que todas las propiedades de su clase coincidan exactamente con las de su tabla en la base de datos . Elimine cualquier propiedad que no esté sincronizada con la base de datos. ¡¡¡Eso resolvió mi problema !! :)
El culpable podría estar en el hecho de que Global.asax ha sido colocado en el directorio incorrecto dentro del proyecto mvc. En mi caso, se colocó en / Vistas, pero tuve que moverlo, debería haberse colocado debajo de la carpeta raíz del proyecto.
En su caso, puede ser exactamente lo contrario: haga algunas pruebas y compruébelo usted mismo.
https://.com/a/41467885/863651
Esto también puede ocurrir si haces algo estúpido (como yo hice) y colocas la URL de la API en la "URL del proyecto" (ej. http://localhost:59088/api/Product ) en la pestaña Propiedades del proyecto-> Web en lugar de especificar en el cuadro de texto "Página específica". Esto hace que Visual Studio siga adelante y cree una aplicación llamada ProjectName / api / Product, y esto esperará una página predeterminada. La única manera de deshacer esto es ir a C: / Archivos de programa (x86) / IIS Express y usar appcmd.exe para eliminarlo como tal
>./appcmd.exe delete APP "ProjectName/api/Product"
La respuesta marcada le ayudará a eliminar el error, pero no hará que MVC funcione. La respuesta al problema es agregar esta línea al archivo web.config en system.webServer:
<modules runAllManagedModulesForAllRequests="true" />
Lo siguiente aplica a IIS 7
El error es intentar decirle que una de dos cosas no funciona correctamente:
- No hay una página predeterminada (por ejemplo, index.html, defaul.aspx) para su sitio. Esto podría significar que la "característica" predeterminada del documento está completamente deshabilitada o simplemente mal configurada.
- La navegación por el directorio no está habilitada. Es decir, si no está publicando una página predeterminada para su sitio, tal vez tenga la intención de permitir que los usuarios naveguen por el contenido del directorio de su sitio a través de http (como un "explorador de Windows" remoto).
Consulte el siguiente enlace para obtener instrucciones sobre cómo diagnosticar y solucionar los problemas anteriores.
http://support.microsoft.com/kb/942062/en-us
Si ninguno de estos problemas es el problema, otra cosa que debe verificar es asegurarse de que el grupo de aplicaciones configurado para su sitio web (en Administrador IIS, seleccione su sitio web y haga clic en "Configuración básica" en el extremo derecho) esté configurado con el mismo La versión de .Net Framework (en el Administrador de IIS, en "Grupos de aplicaciones") como targetFramework configurado en su web.config, por ejemplo:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime targetFramework="4.0" />
</system.web>
No estoy seguro de por qué esto generaría un mensaje de error aparentemente sin relación, pero lo hizo por mí.
Me enfrenté exactamente al mismo error al intentar depurar mi sitio web ASP.NET utilizando el servidor Express de IIS que es utilizado por Visual Studio cuando simplemente presionamos F5 para ejecutar el sitio web.
Volví a mi web application project
-> Haz clic derecho en la página web ( StudentPortal.aspx
en mi caso) que quería que se cargue cuando comience mi sitio web -> Selecciona la opción Set as Start Page
en el menú contextual como se muestra a continuación. Empezó a funcionar desde la próxima ejecución.
Causa raíz : llegué a la conclusión de que la página de inicio, que es esencialmente el documento predeterminado para el sitio web, no se configuró correctamente o se dañó de alguna manera durante el desarrollo.