ASP.NET MVC проблема маршрутизации? - PullRequest
0 голосов
/ 23 октября 2009

Я продолжаю получать подобные ошибки после того, как мои страницы обновляются.

Не удалось найти контроллер для пути '/S43G/S4_Manager/WebResource.axd' или он не реализует IController.

но я получаю сообщение об ошибке для любого файла, который не существует на моем жестком диске. независимо от продления (.png, .css и т. д.)

Я пытался все это исправить, и я в замешательстве.

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute( "{resource}.axd" );
routes.IgnoreRoute( "WebResource.axd" );

routes.MapRoute(
"Default",                                              // Route name
"{controller}/{action}/{id}",                           // URL with parameters
new { controller = "Home", action = "Index", id = "" },  // Parameter defaults
new { controller = @"[^\.]*" }
            );

Любые идеи о том, что мне нужно добавить в мой маршрут, чтобы он не вызывал исключения каждый раз, когда файл не существует.

Запрет тем, как исправить проблему WebResoruce.axd, поскольку WebResoruce.axd не должен существовать.

Спасибо

Eric =

1 Ответ

0 голосов
/ 10 ноября 2009

Я думаю, мой ответ здесь дает решение вашей проблемы, просто сопоставьте все URL и используйте ограничение, чтобы проверить, является ли тип файла .axd.

Тогда все, что вам нужно, это выполнить 404 запроса после всех других MapRoutes ():

 routes.MapRoute(
           "Error404CatchAll", // Route name  
           "{*url}", // URL with parameters
           new { controller = "Error", action = "Http404" } // Parameter defaults
           );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...