Запустите Angular и ASP.NET Web API на одном и том же порту - PullRequest
0 голосов
/ 08 июня 2018

В настоящее время я использую angular для вызова API-интерфейса на сервере API под управлением ASP.NET.Тем не менее, у меня есть проблема перекрестного происхождения, что касается угловой разработки, я использую localhost.В то время как в рабочей версии все они будут работать в одном домене с использованием IIS.

Есть ли способ запустить угловое приложение на том же порту с ASP.NET?

PS: Я также открыт для других альтернатив по решению этой проблемы.

1 Ответ

0 голосов
/ 06 сентября 2018

Я столкнулся с той же проблемой, затем я нашел это сообщение на среднем , надеюсь, это сработает для вас.

Редактировать: На самом деле решение, которое я использовал,из этой статьи.

Идея состоит в том, что вы не можете "публиковать" API и приложение Angular на одном порту, но вы можете использовать прокси-сервер для подключения приложения Angular к API на другомпорт.

Обновление : извините, что давно не отвечал.

Для решения проблемы cors (в данном случае) вы можете использовать прокси с ng serve команда.

Например, в моем случае я использовал файл proxy.conf.json, например, такой:

{
  "/api/*": {
    "target": "http://localhost:3000",
    "secure": false,
    "pathRewrite": {"^/api" : ""}
  }
}

Этот код переписывает URL-адрес при каждом запросе на /api/* дляhttp://localhost:3000 где ваш API слушает.

Итак, чтобы проиллюстрировать, если в угловом формате вы сделаете запрос наподобие http://localhost:4200/api/users, он будет перенаправлен / переписан на http://localhost:3000/api/users для решения проблемы cors.

Теперь способ запуска вашего углового приложения другой.

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