2011-09-28 16 views
5

Ho un progetto WebForms ASP.NET 3.5 esistente e ho aggiunto ASP.NET MVC al progetto. Le pagine esistenti funzionano correttamente e anche le nuove viste dei controller &. Tuttavia, quando si esegue la distribuzione su IIS 7, il documento predefinito (default.aspx) non funziona più. Posso accedervi se lo digito esplicitamente ma 'xyz.com' non funziona - Ottengo un 404. Al contrario, funziona bene in Cassini.Il documento predefinito (default.aspx) in IIS non funziona dopo l'aggiunta di MVC e routing a un progetto WebForms

Come faccio a ripristinare il funzionamento del documento predefinito mantenendo ancora il nuovo materiale MVC.

risposta

9

ho aggiunto il seguente al file Global.asx.cs e il documento predefinito funziona di nuovo.

public static void RegisterRoutes(RouteCollection routes) 
    { 
     // *** This Line *** 
     routes.IgnoreRoute("");          // Required for the default document in IIS to work 
     // ***************** 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     routes.IgnoreRoute("{resource}.aspx/{*pathInfo}"); 

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

    protected void Application_Start(Object sender, EventArgs e) 
    { 
     RegisterRoutes(RouteTable.Routes); 
    } 
+0

Grazie, questo mi ha aiutato a risolvere il mio problema! – Netricity

0

Sono disponibili documenti predefiniti per l'applicazione IIS ed è default.aspx nell'elenco? Basta ricontrollare quelli, non riesco a pensare a nient'altro che possa influenzare la pubblicazione della pagina default.aspx. IIS dovrebbe essere simile a questo:

IIS Default Document

+0

Sì, ce l'ha. Giusto per chiarire, funzionava bene con IIS 7 fino a quando MVC e routing non sono stati aggiunti al progetto. – GiddyUpHorsey

Problemi correlati