local.testsite1
и local.testsite1/testsite2
- это одинаковые домены.Не поддомен.Что означает, что приложение / IIS, ищущий контроллер, является правильным поведением.
Вы можете рассмотреть возможность объединения сайтов в один и использования MVC Area для их разделения?Кроме того, если вы не объедините сайт, как вы запустите app_start и другие события отдельно для сайтов?
В этом случае вы можете написать собственные маршруты, отделяя маршруты testsite2 от testsite1 .
Например, определение маршрута для testsite1 может быть:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "YourApp.Controllers" }
);
И ваша регистрация маршрута в области testsite2 может быть:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new { controller = "Branch|AdminHome|User" },
new[] { "YourApp.Areas.testsite2.Controllers" }
);
}
Подробнее ореализация здесь: Маршрутизация области Mvc?