Pergunta

Eu tenho uma localização httphandler o que está sendo executado no contexto de minha ASP.Net MVC2 pasta de Conteúdo (parte do que ele está fazendo está compilando .menos arquivos que estão em /Content/css).Minha rota padrão para esse determinado conjunto de solicitações parecido com este:

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" }
);

(Como um aparte, eu não acho que é relevante, mas apenas no caso - o VirtualDirectoryConstraint rejeita partidas nesta rota, se o pedido não está vindo do passado-no caminho do aplicativo/diretório virtual)

Com esta configuração de uma chamada para http://server.net/VDirectory1/Content/css/LessCompiler.axd falha porque não há ContentController classe.Tudo muito bem.

Quando eu adicionar

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

que a chamada for bem-sucedida, mas as chamadas subsequentes para

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

e

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

falhar.Olhando para Phil Haack o RouteDebugger ferramenta, essas chamadas são de correspondência de Conteúdo IgnoreRoute rota:

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

e não são, portanto, ser encaminhado para o LocalizationController e AuthorizationController, respectivamente.

Claro que eu sou mal-entendido algo sobre como o IgnoreRoute é suposto para ser usado e por que determinado IgnoreRoute é correspondente a essas solicitações.O que eu estou ausente?

Foi útil?

Solução

Não deve o seu IgnoreRoute uso Content em vez de {Content} ?

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

No momento, {Content} é, provavelmente, ser expandida como uma variável para nada, o que torna o pathinfo combinar tudo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top