【问题标题】:API vs Angular web application templates in Visual Studio 2019Visual Studio 2019 中的 API 与 Angular Web 应用程序模板
【发布时间】:2020-06-09 19:06:06
【问题描述】:

我已经完成了一个使用 .NET 核心创建 API 的教程:

然后使用我在 VSCode 中编辑的 Angular CLI 创建一个单独的 Angular 项目。

这一切都很好,但我想知道这与在 VS 工作室中使用 Angular 模板有何不同:

我知道这可能会被否决,但我在这些上找到的只是操作指南。我想了解每种方法的优缺点,也许我会在哪里使用其中一种。 Visual Studio 中的 Angular 项目让我能够立即获得用户身份验证,这就是我正在研究它的原因。

为了清楚起见,我想了解它们之间的区别

(1) .NET Core Web API + Angular CLI Project
(2) Angular Project Web Application

【问题讨论】:

  • Angular 模板对我来说唯一的主要优点是您不需要处理 CORS,因为它们将是同一个来源。提供在单个应用项目中托管两种项目类型的便利。因此,应用程序项目可以作为一个单元构建和发布。如果您有多个客户端使用 API,那么最好将它们分开。取决于您的用例。

标签: angular visual-studio api asp.net-core .net-core


【解决方案1】:

Angular 项目模板相当于创建一个 ASP.NET Core 项目作为 API 后端,并创建一个 Angular CLI 项目作为 UI。该模板提供了在单个应用项目中托管两种项目类型的便利。因此,应用程序项目可以作为一个单元构建和发布。您可以参考以下文章:

Use the Angular project template with ASP.NET Core

与 ASP.NET Core 3.0 或更高版本的最大区别在于,该模板使用 API 授权支持在单页应用程序 (SPA) 中提供身份验证。用于验证和存储用户的 ASP.NET Core Identity 与用于实现 Open ID Connect 的 IdentityServer 相结合:

Authentication and authorization for SPAs

在 Visual Studio 中,选择 Angular 模板 --> 更改身份验证 --> 选择个人用户帐户。或者你可以使用 .NET Core CLI :dotnet new angular -o <output_directory_name> -au Individual

【讨论】:

  • 以后有没有办法轻松拆分这些项目?我读到在默认的 angular & asp.net core api 项目中进行了一些小改动。
  • @KevinvanSchaijk 我也有兴趣了解用于发展(拆分)组合架构的模式。我想您会将客户端与后端分离到不同的存储库中,并独立开发和部署。拆分的原因可能至少基于我猜的几个因素:应用程序规模,团队规模......不知道还有什么。
猜你喜欢
  • 2020-01-24
  • 2022-06-19
  • 2020-04-03
  • 2021-06-23
  • 2021-06-25
  • 1970-01-01
  • 1970-01-01
  • 2020-06-09
  • 2013-12-23
相关资源
最近更新 更多