ASP. NET Приложение Core 3.1 Host Sub в основном приложении - PullRequest
0 голосов
/ 14 февраля 2020

Допустим, основное веб-приложение: https: \ mywebapp.com

Допустим, у меня есть отдельный проект веб-API, и у него есть несколько служб (api \ service1, api \ service2,)

Для этого я создал 2 проекта

  1. ASP. NET Core MVC Проект для основного приложения - https: \ mywebapp. com
  2. ASP. NET Базовый проект веб-API (Сервис 1, Сервис 2)

Как настроить свой проект и опубликовать профиль sh в Azure чтобы у меня было следующее

  1. Основное приложение (https: \ mywebapp.com) - Это хорошо, у меня есть профиль sh publi, и он правильно публикуется в Azure
  2. URL-адрес службы 1 (https: \ mywebapp.com \ api \ service1)
  3. URL-адрес службы 2 (https: \ mywebapp.com \ api \ service2)

Как мне получить pt 2 и pt3 и сделать мой проект веб-API в качестве вспомогательного приложения в моем основном веб-приложении? и использовать тот же URL \ api?

1 Ответ

1 голос
/ 17 февраля 2020

Вы можете создать виртуальный каталог в том же azure веб-приложении.

При первом создании Core MVC Project в azure webapp, go в Configuration> Path mappings и настройте Virtual directory site/api.

enter image description here

Когда мы публикуем sh Core API для Azure, нам нужно включить путь виртуального каталога в Разделы «Имя сайта» и «URL назначения» на вкладке «Соединение».

enter image description here

Поскольку веб-интерфейс Core 3.1 состоит из одного или нескольких классов контроллеров, производных от ControllerBase , Шаблон проекта веб-API предоставляет стартовый контроллер:

[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase

Итак, мы можем посетить его только с controllerName. И так как это подкаталог, то путь к URL-адресу api\controllerName. Вот вывод:

enter image description here

...