Domanda

Ho una localizzazione httphandler che è in esecuzione nel contesto della mia cartella dei contenuti ASP.NET MVC2 (parte di ciò che sta facendo è compilare file senza compilazione che sono in / content / css). Il mio percorso predefinito per questo particolare set di richieste è simile a questo:

context.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

context.MapRoute(
    "Area_default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    new { controller = new VirtualDirectoryConstraint("VDirectory1") },
    new string[] { "Namespace.One.MVC" }
);
.

(come a parte - non penso che sia rilevante, ma nel caso in cui - il virtualDirectoryConaint respinge corrisponde a questo percorso se la richiesta non proviene dal percorso di applicazione Passed-in / directory virtuale)

Con questa configurazione una chiamata a http://server.net/VDirectory1/Content/css/LessCompiler.axd non riesce perché non c'è la classe di contentController. Tutto bene e buono.

quando aggiungo

context.Routes.IgnoreRoute("{Content}/{*pathInfo}");
.

che la chiamata riesce, ma le chiamate successive a

http://server.net/VDirectory1/Localization/ClientScript/en-US.js
.

e

http://server.net/VDirectory1/Authorization/ClientScript
.

fallire. Guardando lo strumento di routedi di Phil Haack, quelle chiamate corrispondono al contenuto Ignoreroute Route:

True    {Content}/{*pathInfo}   (null)  (null)  (null)
.

e quindi non vengono instradati per la localizzazioneController e AutorizationController, rispettivamente.

Chiaramente sto fraintendendo qualcosa su come dovrebbe essere usato l'ignoreroute e perché quel particolare ignoreroute corrisponde a tali richieste. Cosa mi manca?

È stato utile?

Soluzione

Non dovrebbe IgnoReroute utilizza Content anziché {Content}?

context.Routes.IgnoreRoute("Content/{*pathInfo}");
.

Al momento, {Content} è probabilmente espanso come variabile per nulla, il che rende il pathinfo corrispondente a tutto.

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