2015-08-03 11 views
5

Welche Syntax muss die RouteConfig.RegisterRoutes-Methode in einer ASP.NET MVC-Anwendung verwenden, wenn die App alle URLs ignorieren soll, die mit dem Wort " Score“wieSo ignorieren Sie eine bestimmte Route in ASP.NET MVC-Routing

http://myserver/score*.*

?

Mit anderen Worten, jede URL, die mit dem Text "score" beginnt, möchte ich von meiner App ignorieren.

Ich habe versucht:

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

ich mehrere andere Kombinationen dieser Syntax auch versucht, kann aber durchaus nicht richtig.

Hier ist was ich bisher in meiner RouteConfig habe. Es ist so ziemlich das Standard-Zeug.

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

Was soll ASP.NET MVC tun, wenn Ihre ignorierte Route angefordert wird, 404 zurückgeben? –

+0

Können Sie bitte Ihre komplette Routenkonfiguration zeigen? Um sicherzustellen, dass etwas anderes störend ist ... – timothyclifford

+0

Meine Frage aktualisiert, um die gesamte Routing-Konfiguration zu zeigen. – Ray

Antwort

4

Sie sollten Ihre Gäste platzieren * * als regulären Ausdruck in IgnoreRoute.

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

Weitere allgemeine Antworten können Sie dieses Muster verwenden Routen zu ignorieren, die Sie wollen:

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

Also für score.js und score.txt Route werden Sie RegEx hinzufügen, die diese Routen filtert.

Verwandte Themen