2015-08-03 15 views
5

Qual è la sintassi corretta da inserire nel metodo RouteConfig.RegisterRoutes in un'applicazione ASP.NET MVC se voglio che l'app ignori tutti gli URL che iniziano con la parola " segnare" comeCome ignorare un instradamento specifico nell'instradamento ASP.NET MVC

http://myserver/score*.*

?

In altre parole, qualsiasi URL che inizia con il testo "punteggio" Voglio che la mia app ignori.

ho provato:

routes.IgnoreRoute("score*.*/{*pathInfo}"); 

Ho anche provato diverse altre combinazioni di questa sintassi, ma non riesco a farlo bene.

Ecco quello che ho finora nella mia RouteConfig. È praticamente la roba standard.

public class RouteConfig 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Order", action = "Add", id = UrlParameter.Optional } 
     ); 
    } 
} 
+4

Cosa si desidera che ASP.NET MVC esegua quando viene richiesta la route ignorata, restituisce 404? –

+0

Puoi mostrare la configurazione completa del percorso per favore? Per garantire che qualcos'altro stia interferendo ... – timothyclifford

+0

Ho aggiornato la mia domanda per mostrare l'intera configurazione di Routing. – Ray

risposta

4

Si dovrebbe inserire il vostro punteggio * * come espressione RegEx in IgnoreRoute:.

routes.IgnoreRoute("{score}/{*pathInfo}", new { score = @"score*.*" }); 

Per le risposte più generali, è possibile utilizzare questo modello per ignorare percorsi che si desidera:

Routes.IgnoreRoute("{*foo*}", new { foo = @"someregextoignorewhatyouwant"}); 

Quindi per score.js e score.txt si aggiungerà regEx che filtra tali rotte.