Добавление приложения MVC в другое приложение MVC в IIS - PullRequest
0 голосов
/ 09 мая 2019

У меня есть два отдельных приложения MVC, и я хочу развернуть одно из них под другим. Я создал веб-сайт и приложение на МКС, например «testsite1» и «testsite2». local.testsite1 работает очень хорошо, но local.testsite1 / testsite2 не работает, так как testsite1 перехватывает запрос, пытается найти контроллер и выдает исключение. Я не хочу создавать два разных веб-сайта в IIS. Как я могу решить проблему?

Ответы [ 2 ]

0 голосов
/ 09 мая 2019

Вы можете попробовать настроить второй веб-сайт в качестве приложения на тестовом сайте 1 в IIS.

Для этого щелкните правой кнопкой мыши веб-сайт для первого приложения MVC в IIS, нажмите Add Application..., установитепсевдоним, пул, который вы хотите использовать, и путь к файлам второго приложения MVC.

Highlighted Add Application option

0 голосов
/ 09 мая 2019

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?

...