Как добавить проект .net core Web API в существующий.Проект NET core (3.1) веб-приложения?

#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