Разместите приложение mvc web api в подпапке сайта - PullRequest
0 голосов
/ 02 ноября 2018

У меня уже есть веб-приложение в корневой папке моего сайта. (например, http://cassapi.gear.host). Теперь я хочу добавить одно приложение веб-API MVC в подпапку внутри папки 'wwwroot', чтобы я мог получить доступ к своему домашнему контроллеру что-то вроде "http://cassapi.gear.host/DOTAPI/api/values", не беспокоясь о веб-сайт в папке wwwroot.

Примечание: Это нормально работает, когда я публикую это приложение MVC в корневой папке.

Мой web.config выглядит так: -

config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

Мой корневой конфиг: -

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "DOTAPI/{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }

Я разработчик приложений для Windows и новичок в MVC. поэтому, пожалуйста, посмотрите на это и помогите мне.

В настоящее время, когда я звоню по URL-адресу "http://cassapi.gear.host/DOTAPI/", он показывает" У вас нет разрешения на просмотр этого каталога или страницы. "

1 Ответ

0 голосов
/ 02 ноября 2018

Если вы получаете сообщение об ошибке «Отказано в доступе», вы должны дать разрешения группе iis_users для своего каталога. И есть другой способ достижения того, что вам нужно. Вы можете добавить свой api в качестве приложения на ваш основной сайт. Ниже приведены шаги.

  1. Перейти к IIS.
  2. Щелкните правой кнопкой мыши по основному веб-сайту и выберите Add Application.
  3. Дайте псевдоним для вашего API.
  4. Установите путь к вашей папке API.

Тогда вы можете просто просмотреть свой API с указанным псевдонимом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...