Как настроить универсальный контроллер в ASP.NET MVC? - PullRequest
0 голосов
/ 20 марта 2009

Я знаю, что это, возможно, не в истинном духе MVC, но я просто хочу иметь один глобальный контроллер, который всегда вызывается независимо от того, как выглядит URL. Например, это может быть:

http://myserver.com/anything/at/all/here.fun?happy=yes&sad=no#yippie

... и я хочу, чтобы это было передано моему единственному контроллеру. Я намереваюсь получить путь программным путем и обработать его самостоятельно - другими словами, я вообще не хочу никакой маршрутизации.

Я открыл файл global.asax и обнаружил, где зарегистрированы маршруты, но я просто не знаю, что указать для параметра 'url' в MapRoute:

routes.MapRoute( "Global", "", new { controller = "Global", action = "Index" } );

Это (с пустым 'url') прекрасно работает для пути по умолчанию '/', но если я изменяю его на что-либо, я получаю файл, который не найден, когда я хочу, чтобы он обрабатывал любой URL-адрес. Я также пробовал "*" и т. Д., Но это не сработало.

Я не смог найти какой-либо определенной ссылки на формат, который принимает параметр url.

Ответы [ 2 ]

4 голосов
/ 20 марта 2009

Как насчет:

routes.MapRoute("Global", "{*url}", new { controller = "Global", action = "Index" } );

из это вопрос

0 голосов
/ 20 марта 2009

Вы не удалили настройки по умолчанию? Вам нужно сохранить это. Может быть, попробуйте:

routes.MapRoute("Global", "/", new { controller = "Global", action = "Index" });
...