如何将 .net core Web API 项目添加到现有的 .NET core (3.1) Web Application 项目中?
Posted
技术标签:
【中文标题】如何将 .net core Web API 项目添加到现有的 .NET core (3.1) Web Application 项目中?【英文标题】:How to add .net core Web API project to an existing .NET core (3.1) Web Application project? 【发布时间】:2021-05-22 06:44:17 【问题描述】:我想将 .NET Core Web API 项目添加到现有的 .NET core (3.1) Web 应用程序项目中,使用带有路由和身份框架的 JWT 令牌身份验证所有..
请问我们有什么建议吗?将这两个项目结合起来是否可行和好主意?
【问题讨论】:
添加更多关于您已经拥有的以及您希望如何添加 API 的描述(作为外部资源/项目或作为现有项目的一部分) 一个 .NET Core Web API 项目是一个 .NET Core Web 应用程序项目,它只有控制器而不是页面或视图。您是在问如何从网站调用 API 吗?还是要将一个大项目拆分成多个独立的项目? 嗨@DaksheshDave,请详细说明实际场景和问题,以便我们更好地理解。 我不确定你在这里问什么。它们都是“网络”项目。你是说你目前有一个 MVC 项目并且你想要一个 API 项目作为你的后端?你当然可以做到这一点。例如,一个 MVC 项目单独作为一个完整的堆栈 Web 项目是自给自足的,但是,您可以让它充当一个客户端,将一个单独的 API 项目作为您的后端服务器。这样,您的 MVC 站点就会调用您的 API。这是你想要的吗? 【参考方案1】:将.NET Core Web API
添加到现有的.NET core (3.1) Web Application
项目中并不是一个好主意。首先,您必须从解决方案中设置“默认项目”,并且两个项目都有入口点或启动类。
因此,如果您想同时处理这两个项目,您可以将控制器和服务从 .NET Core Web API
移动到 .NET core (3.1) Web Application
项目,如果您的项目规模很大,这可能会很有效......
【讨论】:
一个 .NET Core Web API 项目是一个 .NET Core Web 应用程序项目。将一个大项目拆分为多个模块也没有错。不需要所有项目都有 Startup 类,只有 main 需要设置配置、DI 和日志记录 我有,不清楚,可能意味着两种不同的东西。但这个答案是完全错误的。或者至少,也令人困惑和不清楚。没有理由将所有控制器放在同一个项目中。如果您使用 ASP.NET Core Identity,则控制器和 UI 位于由 NuGet 部署的单独程序集中以上是关于如何将 .net core Web API 项目添加到现有的 .NET core (3.1) Web Application 项目中?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 .NET Core 2.2 Web API 迁移到 .NET Core 3.0?
如何将 AzureAD 和 AzureADBearer 添加到 asp.net core 2.2 web api
如何将 Web API 控制器添加到现有的 ASP.NET Core MVC?
如何将数据表从 .net core 5.0 web api 作为 json 传递到 Angular 前端?