2009-10-22 5 views
0

Я продолжаю получать такие ошибки после того, как мои страницы будут освещены.Проблема маршрутизации ASP.NET MVC?

Контроллер для пути '/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 =

ответ

0

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

Тогда все, что вам нужно следующее для обработки 404 запросов после всех других MapRoutes():

routes.MapRoute(
      "Error404CatchAll", // Route name 
      "{*url}", // URL with parameters 
      new { controller = "Error", action = "Http404" } // Parameter defaults 
      ); 
Смежные вопросы