2008-12-02 5 views
8

Quando si crea un nuovo progetto MVC ASP.NET in Visual Studio 2008, per impostazione predefinita è presente una pagina Default.aspx. Ha una lineaPerché ASP.NET MVC ha il fastidio di avere un file Default.aspx?

Nella sua funzione Page_Load, esso reindirizza solo per "/" per passare attraverso la procedura di routing.

public void Page_Load(object sender, System.EventArgs e) 
    { 
     HttpContext.Current.RewritePath(Request.ApplicationPath); 
     IHttpHandler httpHandler = new MvcHttpHandler(); 
     httpHandler.ProcessRequest(HttpContext.Current); 
    } 

ho cercato di rimuovere Default.aspx e si scopre che il default URI "http://localhost:2574/" è ancora accessibile. Quindi, perché preoccuparsi di avere tale Default.aspx?

risposta

10

Le vecchie versioni di IIS hanno bisogno di un documento di avvio e ti dà anche qualcosa da fare clic destro opzione per ottenere il "Visualizza nel browser".

+4

che cos'è la "versione precedente"? IIS 6? –

6

Quello che succede qui è che l'Url richiesto (che era Default.aspx) viene riscritto nella root dell'applicazione "/" e quindi trasferito dal gestore HTTP Webform e su MvcHttpHandler. Una richiesta per "/" corrisponderà alla voce di percorso predefinita (mostra più in basso) ... eventualmente inviandoci su uno dei controllori percorso.

link utile here

+0

Grazie. Il collegamento (http://www.58bits.com/blog/2008/09/29/ASPNetMVCAndRoutingDefaultaspx.aspx) spiega in realtà che Default.aspx può essere rimosso e funziona ancora. –

+0

Il link 58bits sopra è ora disponibile all'indirizzo http://www.58bits.com/blog/2008/09/29/asp-net-mvc-and-routing-default-aspx/ –