2010-01-11 2 views

ответ

3

Вы уверены, что сможете. Проверьте следующие маршруты:

routes.MapRoute("Route1", "StaticFolder/{name}/{id}", new { controller = "Controller1", action = "Action1", name = "Sample", id = "1" }); 

Маршрут 1 всегда будет вызывать Action1 на Controller1 на любые просьбы о предоставлении ресурсов в StaticFolder.

routes.MapRoute("Route2", "StaticFolder1/{id}/{action}", new { controller = "Controller2", action = "Action2", id = "1" }); 

Route 2 всегда будет вызывать Controller2 с указанным действием (неплатежеспособного к Action2) для любых запросов к StaticFolder1.

В вашем случае специально если вы хотите, чтобы удалить маршрут по умолчанию и заменить его следующим:

routes.MapRoute("Default", "/v3/site/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = "" }); 
+0

routes.MapRoute ("По умолчанию", «/ v4/оболочка/{контроллер}/{действие}/{id} ", New С {.controller =" Demo ", .action =" Test ", .id =" "}) НЕ РАБОТАЕТ ... – BigOmega

+0

Каков реальный корневой путь в вашем приложении? Имеет ли приложение виртуальный путь (например, myhost.com/myapp/) или он начинается с myhost.com/? – Terje

0

Похоже, что корень приложения находится на/v3/сайте. Насколько я знаю, маршрутизация ASP-MVC не может перехватывать маршруты ниже своего собственного корня (вероятно, это проблема безопасности). Это скорее похоже на конфигурацию IIS, которая необходима, чем правило маршрутизации MVC.