Размещение приложения MVC 4 в приложении IIS
У меня есть несколько приложений, развернутых в IIS. Я создал сайт для каждого приложения и сопоставил их с использованием другого номера порта. Недавно меня попросили использовать виртуальный каталог вместо сопоставления их с использованием другого номера порта. Я создал виртуальный каталог и добавил для него маршрут. Когда я пытался протестировать приложение локально, я получал 403.14. Прочитав несколько постов в Интернете, я внес следующие изменения в свой файл web.config
<modules>
<remove name="UrlRoutingModule-4.0"/>
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule,
System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
preCondition="" />
</modules>
Я не получаю каталог со всеми именами файлов. Я обновил свой маршрут в
RouteConfig.cs file to
routes.MapRoute(
name: "Default",
url: "CollegeOfBusiness/{controller}/{action}/{id}",
defaults:
new { controller = "Account", action = "Logon", id = UrlParameter.Optional},
namespaces: new[] { "MyCollege.Controllers" }
);
После внесения этих изменений я больше не получаю 400,13; однако я не получаю страницу входа. Я получаю каталог всех файлов. Я запустил команду "aspnet_regiis /i", а затем aspnet_regiis -ir, чтобы убедиться, что это не проблема с регистрацией. До сих пор мне не повезло. Я ищу любую информацию или ресурсы, которые могли бы помочь решить эту проблему.
Локальная система: Windows 7 IIS 7.5 Visual Studio 2017 Asp.net MVC 4 Jquery 2.3
Обновление 03/03/2018 @9:45
Я изменил маршрут, как показано ниже. Я больше не получаю список каталогов. Однако POST и GET не маршрутизируются на соответствующий контроллер. URL при первой загрузке страницы выглядел так, как показано здесь:
http://localhost/CollegeOfBusiness
Я добавил свой маршрут ниже. Он добавляется прямо над маршрутом по умолчанию.
RouteConfig.cs file to
routes.MapRoute(
name: "CollegeOfBusiness",
url: "CollegeOfBusiness/{controller}/{action}/{id}",
defaults:
new { controller = "Account", action = "Logon", id = UrlParameter.Optional},
namespaces: new[] { "MyCollege.Controllers" }
);
Затем я добавляю маршрут по умолчанию внизу.
RouteConfig.cs file to
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults:
new { controller = "Account", action = "Logon", id = UrlParameter.Optional},
namespaces: new[] { "MyCollege.Controllers" }
);
Когда пользователь нажимал кнопку входа, URL-адрес публикации выглядел следующим образом:
/CollegeOfBusiness/Account/Logon
1 ответ
Наконец-то я смог заставить его работать. 1. Я удалил приведенный ниже пользовательский маршрут, потому что он не был нужен.
RouteConfig.cs file to
routes.MapRoute(
name: "CollegeOfBusiness",
url: "{controller}/{action}/{id}",
defaults:
new { controller = "Account", action = "Logon", id = UrlParameter.Optional},
namespaces: new[] { "MyCollege.Controllers" }
);
Как предлагается в этом POST, я добавил URL-адрес в div и получил его на основе Id. Я также изменяю src для всех файлов js и css, чтобы использовать @Url.Action().
Я должен был добавить "/CollegeOfBusiness" перед всеми запросами
Я изменил пул приложений, чтобы использовать служебную учетную запись. Эта учетная запись не имела доступа для обновления базы данных, поэтому я также исправил это.