Domanda

ho creato una nuova soluzione e crea un ottimo framework di targeting 4.0 ma quando lo eseguo, viene visualizzato il mio browser dicendo:

Impossibile trovare la risorsa. Descrizione: HTTP 404. La risorsa che stai cercando (o una delle sue dipendenze) potrebbe essere stata rimossa, se il suo nome fosse cambiato o fosse temporaneamente non disponibile. Esamina il seguente URL e assicurati che sia stato digitato correttamente. URL richiesto: /

qualche idea su come eseguire il debug di questo?

È stato utile?

Soluzione

Prova ad aggiungere la pagina default.aspx fornita con il modello di progetto asp.net mvc 1.0. Ho avuto un problema simile con l'esecuzione di mvc 2 out of the box su un computer con IIS 5 (XP) e questo ha funzionato.

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);
        }
    }
}

Altri suggerimenti

Non è necessario aggiungere la pagina default.aspx sopra descritta.

Il browser visualizzerà questo messaggio 404 se aggiungi ed esegui una nuova applicazione Vuota ASP.NET MVC 2 "pronta all'uso".

Ciò è dovuto alla route predefinita definita in global.asax.

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

Puoi vedere che sta cercando un controller chiamato Home e un'azione chiamata Index.

Quando si crea un nuovo progetto vuoto , è necessario creare il controller Home e l'azione Index ( non sono presenti in un progetto vuoto ), quindi creare la vista anche per l'azione dell'Indice.

La mia ipotesi è che è necessario registrare nuovamente o abilitare il framework in IIS. Prova a eseguire aspnet_regiis dall'albero del framework appropriato e / o assicurati che la versione del framework appropriata sia consentita con le estensioni web IIS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top