Question

J'ai créé une nouvelle solution et construit un cadre de ciblage précis 4.0, mais lorsque je l'exécute, mon navigateur me dit:

La ressource est introuvable. Description: HTTP 404. La ressource que vous recherchez (ou l'une de ses dépendances) aurait pu être supprimée, si son nom avait été modifié ou si elle était temporairement indisponible. Veuillez réviser l'URL suivante et assurez-vous qu'elle est orthographiée correctement. URL demandée: /

des idées sur la façon de déboguer cela?

Était-ce utile?

La solution

Essayez d’ajouter la page default.aspx fournie avec le modèle de projet asp.net mvc 1.0. J’ai eu un problème similaire en utilisant mvc 2 en sortie de boîte sur un ordinateur avec IIS 5 (XP), et c’est ce qui a fonctionné.

Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="YourNamespace.Website.Default" %>

<%-- Please do not delete this file. It is used to ensure that ASP.NET MVC is activated by IIS when a user makes a "/" request to the server. --%>

Default.aspx.cs:

using System.Web;
using System.Web.Mvc;
using System.Web.UI;

namespace YourNamespace.Website
{
    public partial class Default : Page
    {
        public void Page_Load(object sender, System.EventArgs e)
        {
            // Change the current path so that the Routing handler can correctly interpret
            // the request, then restore the original path so that the OutputCache module
            // can correctly process the response (if caching is enabled).
            string originalPath = Request.Path;
            HttpContext.Current.RewritePath(Request.ApplicationPath, false);
            IHttpHandler httpHandler = new MvcHttpHandler();
            httpHandler.ProcessRequest(HttpContext.Current);
            HttpContext.Current.RewritePath(originalPath, false);
        }
    }
}

Autres conseils

Vous n'avez pas besoin d'ajouter la page default.aspx décrite ci-dessus.

Le navigateur affichera ce message 404 si vous ajoutez et exécutez une nouvelle Empty application ASP.NET MVC 2 prête à l'emploi ".

Cela est dû à la route par défaut définie dans global.asax.

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

Vous pouvez voir qu’il recherche un contrôleur appelé Accueil et une action appelée Index.

Lors de la création d'un nouveau projet vide , il vous reste à créer l'action du contrôleur Accueil et de l'indexation ( ils ne figurent pas dans un projet vide ), puis créez la vue. pour l'action Index aussi.

Je suppose que vous devez vous réinscrire ou activer le cadre sous IIS. Essayez d’exécuter aspnet_regiis à partir de l’arborescence appropriée et / ou assurez-vous que la version appropriée de celle-ci est autorisée sous les extensions Web IIS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top