Задать вопрос

Есть ли возможность для проекта .net core mvc при разработке в visual studio установить витруальное приложение для встроенного веб-сервера?

Например, у меня в настройках среды указано:
"applicationUrl": "https://localhost:7040;http://localhost:5134"

И приложение, соответственно открывается на:
https://localhost:7040
http://localhost:5134


А нужно, чтобы приложение открывалось на адресах:
https://localhost:7040/dev
http://localhost:5134/dev


Как это сделать на проде я знаю. Не могу понять можно ли такое сделать локально в среде разработки.

(.NET 8 + VS 2022)
  • Вопрос задан
  • 43 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
На проде у тебя перед приложением, скорее всего, стоит какой-нибудь веб-сервер, который настроен как обратный прокси и в нём ты можешь менять логику обработки запросов не залезая в само приложение.

Когда ты запускаешь приложение локально, у тебя нет никакого отдельного веб-сервера (ну вроде по умолчанию на Винде будет(по крайней мере раньше так было) iis express, но это не считается).

Так что для добавления префиксов к маршруту тебе надо залезть в своё приложение.

Чтобы не менять роутинг всех методов/контроллеров/ручек, ты можешь воспользоваться методом UsePathBase, который добавит к тебе в конвеер обработки запроса соответствующий middleware, который будет отрезать от запроса указанный префикс перед передачей запроса дальше (чтобы с точки зрения роутера запрос выглядел так, будто запрос пришёл на нормальный путь без префикса)

Вот тут подробнее это объясняется и с примерами:
https://andrewlock.net/understanding-pathbase-in-a...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы