Como faço para configurar um controlador universal no ASP.NET MVC?
-
21-08-2019 - |
Pergunta
Eu sei que não é, talvez, no verdadeiro espírito do MVC, mas eu só quero ter um único controlador global que sempre é chamado não importa o de uma URL pareça como. Por exemplo, poderia ser:
http://myserver.com/anything /at/all/here.fun?happy=yes&sad=no#yippie
... e eu quero que sejam passados ??para o meu único controlador. Tenho a intenção de obter o caminho por meio de programação e lidar com isso sozinho -. Portanto, em outras palavras, eu realmente não quero qualquer encaminhamento a todos
Eu abri o arquivo global.asax e descobriu onde as rotas são registrados, mas eu só não sei o que colocar para o 'url' parâmetro em MapRoute:
routes.MapRoute( "Global", "", new { controller = "Global", action = "Index" } );
Este (com o espaço em branco 'url') funciona bem para o caminho padrão de '/', mas se eu mudá-lo para qualquer coisa que eu obter um arquivo não encontrado, quando eu quero que ele pega qualquer url. Eu também tentei "*", etc., mas isso não funcionou.
Eu não poderia encontrar qualquer referência definitiva para o formato que o parâmetro url leva.
Solução
Como sobre: ??
routes.MapRoute("Global", "{*url}", new { controller = "Global", action = "Index" } );
Outras dicas
Você não removeu o padrão não é? Você precisa manter essa. Talvez tente:
routes.MapRoute("Global", "/", new { controller = "Global", action = "Index" });