.net - .NET 是否分离后端和 WebAPI
问题描述
我对 .NET 还很陌生,我需要做一个为消息提供 Web 界面的项目。
问题是:
- 我应该将后端和 WebAPI 分开吗?
所以我应该为后端创建一个 .NET Core 控制台应用程序,为 API 创建一个 .NET Core WebAPI,这样后端将与 API 通信以存储和读取数据库。
或者
我应该创建一个同时包含(后端和 API)的 .NET Core WebAPI 项目吗?
后端将执行后台任务(消息处理等)
如果我不分开(所以把所有东西都放在 .NET Core WebAPI 中),我应该如何创建只要应用程序运行就运行的后台线程?
(我不想使用 HangFire 或 Quartz)
谢谢!
解决方案
在我看来,您应该将项目分开,因为有很多用例差异。
例如,API 端点通常旨在从端点传递大量数据,而来自 Web 应用程序的相同数据访问很可能会受到更多限制和过滤。此外,您很可能有不同的授权概念用于 api(JWT 令牌 fe)或 Web 应用程序后端(基本用户身份验证)。
如果您将服务分开,进一步的开发和维护会容易得多,因为您始终可以保证彼此之间不存在依赖关系。
由于您既可以提供两种服务,也可以只提供两种服务中的一种,因此您还拥有更多的可重用性。
推荐阅读
- c# - 如何在继承类程序的构造函数中传递参数?
- angular - Angular 8 Service Worker 离线失败
- apache - 为 VUE-JS SPA 设置 .htaccess 重写规则
- python-3.x - AttributeError:“str”对象没有属性“from_square”
- angular - 使用 Angular/Core 2.2 上传大文件
- c# - 如何检查使用 HtmlAgilityPack 创建的 HtmlDocument 或任何其他文档的内存大小?
- android - 如何从活动类打开片段类
- node.js - MEAN 堆栈异步调用似乎在收到响应之前被触发
- python - 打印进度的高效除法检查
- database - 与以前的混合模型相比,Aerospike 中的 sprigs 是否减少了主索引的内存占用?