首页 > 解决方案 > .NET 是否分离后端和 WebAPI

问题描述

我对 .NET 还很陌生,我需要做一个为消息提供 Web 界面的项目。

问题是:

所以我应该为后端创建一个 .NET Core 控制台应用程序,为 API 创建一个 .NET Core WebAPI,这样后端将与 API 通信以存储和读取数据库。

或者

我应该创建一个同时包含(后端和 API)的 .NET Core WebAPI 项目吗?

后端将执行后台任务(消息处理等)

如果我不分开(所以把所有东西都放在 .NET Core WebAPI 中),我应该如何创建只要应用程序运行就运行的后台线程?

(我不想使用 HangFire 或 Quartz)

谢谢!

标签: .netapistructureasp.net-core-webapi

解决方案


在我看来,您应该将项目分开,因为有很多用例差异。

例如,API 端点通常旨在从端点传递大量数据,而来自 Web 应用程序的相同数据访问很可能会受到更多限制和过滤。此外,您很可能有不同的授权概念用于 api(JWT 令牌 fe)或 Web 应用程序后端(基本用户身份验证)。

如果您将服务分开,进一步的开发和维护会容易得多,因为您始终可以保证彼此之间不存在依赖关系。

由于您既可以提供两种服务,也可以只提供两种服务中的一种,因此您还拥有更多的可重用性。


推荐阅读