#c# #asp.net-core #.net-core #asp.net-core-mvc #asp.net-core-webapi
#c# #asp.net-core #.net-core #asp.net-core-mvc #asp.net-core-webapi
Вопрос:
Я хочу добавить проект .NET Core Web API в существующий проект веб-приложения .NET core (3.1) с аутентификацией токена JWT с помощью Identity Framework с маршрутизацией и всем остальным..
Пожалуйста, есть ли у нас какие-либо предложения и возможно ли это и хорошая идея объединить оба проекта?
Комментарии:
1. Добавьте больше описания того, что у вас уже есть, и как вы хотите добавить API (как внешний ресурс / проект или как часть существующего проекта)
2. Проект .NET Core Web API — это проект .NET Core Web Application, который имеет только контроллеры вместо страниц или представлений. Вы спрашиваете, как вызвать API, возможно, с веб-сайта? Или вы хотите разделить один большой проект на отдельные?
3. Привет @DaksheshDave, пожалуйста, уточните подробнее о фактическом сценарии и вопросе, чтобы мы могли лучше его понять.
4. Я не совсем уверен, о чем вы здесь спрашиваете. Они оба являются «веб-» проектами. Вы говорите, что в настоящее время у вас есть проект MVC, и вы хотите, чтобы проект API выступал в качестве вашего серверной части? Вы, безусловно, можете это сделать. Например, один проект MVC самодостаточен как веб-проект с полным стеком, однако вы можете заставить его действовать просто как клиент с отдельным проектом API в качестве вашего внутреннего сервера. Таким образом, ваш сайт MVC вызывает ваш API. Это то, что вы хотите?
Ответ №1:
Не очень хорошая идея добавлять .NET Core Web API
в существующий .NET core (3.1) Web Application
проект .. прежде всего, вы должны установить «Проект по умолчанию» в своем решении, и оба проекта имеют точку входа или класс запуска. Итак, если вы хотите, вы можете ограничить оба проекта, вы можете переместить свой контроллер и службу из .NET Core Web API
проекта в .NET core (3.1) Web Application
проект, что может быть большой работой, если размер вашего проекта большой…
Комментарии:
1. Проект .NET Core Web API — это проект .NET Core Web Application. Нет ничего плохого и в разделении одного большого проекта на несколько модулей. Нет необходимости, чтобы все проекты имели класс запуска, только основной должен настраивать конфигурацию, DI и ведение журнала
2. У меня есть, это неясно и может означать две разные вещи. Но этот ответ просто неверен. Или, по крайней мере, запутанный и неясный. Нет причин помещать все контроллеры в один проект. Если вы используете ASP.NET Идентификатор ядра, контроллеры и пользовательский интерфейс находятся в отдельной сборке, развернутой NuGet