【问题标题】:Starting an ASP.NET Core web project with API and razor pages使用 API 和 razor 页面启动 ASP.NET Core Web 项目
【发布时间】:2021-02-24 04:54:30
【问题描述】:

我是 Web 开发的初学者,我想开始一个新的 ASP.NET Core 项目,我对项目的结构和最佳实践有一些疑问。所以,我的目标是制作一个同时使用剃须刀页面和 Web API 的网站。我想到了 2 个选项:

  1. 为 API 和 razor 页面创建不同的项目,并在它们之间创建一个 C# 库,该库具有一个 API Helper,可将 HTTP 请求发送到 API 项目。
  2. 将 API 和 Razor 页面放在同一个项目中。我认为这个选项要简单得多,但我有一些顾虑。如何调用API? (我看到你可以使用 jQuery 或者以同样的方式创建 API Helper 类)。如果我使用 jQuery 进行 API 调用,我可以在 jQuery 将数据发送到 API 之前在 C# 中进行验证吗?

我想问的另一件事是我应该使用 Identity 进行身份验证吗?当我进行迁移时,我不想在我的数据库中使用默认页面和表。我想定制它们。我知道如果我搭建它们,我可以修改身份类和页面,但我想手动进行。我也知道制作这样的身份验证系统可能具有挑战性,但我想学习如何去做。 总而言之,我很想知道 ASP.NET CORE Web 项目是如何在开发中构建的,我想知道一些最佳实践来完成所有这些事情。提前谢谢!

【问题讨论】:

  • 它是 jQuery - 不是 "JQUERRY" - 一个 "r" 相当 就足够了 - 而且不是全部大写.....跨度>

标签: c# asp.net asp.net-mvc authentication razor


【解决方案1】:

我认为您可能误解了剃须刀页面的工作原理。它是一个纯粹的服务器端渲染系统。客户端向服务器请求一个页面,剃须刀页面渲染整个页面并将生成的 HTML、CSS、JS 发送到客户端浏览器。这意味着您实际上不需要将 API 视为一个单独的部分。除非您想让它更复杂,否则 Razor Pages 网站将是一个项目,其中每个页面有两个文件,一个结合 c# 和 html 构建网页的视图 (.cshtml) 文件,以及一个支持 .cs 文件它处理数据的路由和组装以提供给视图,以及处理身份验证等。

至于身份验证,如果您计划实际部署此功能,我建议您使用 Identity,推出自己的身份验证系统很困难且容易出错,并且 Identity 很容易根据您的特定需求进行定制,同时也提供了良好的和安全的起点。

【讨论】:

  • 托尼·帕切科,感谢您的回复。是的,我知道剃须刀页面是如何工作的,但我还想要一个 API,因为它让我有可能为网站制作一个移动应用程序。我应该在一开始就提到这一点。我认为你是对的,我会坚持身份。
猜你喜欢
  • 1970-01-01
  • 2022-01-17
  • 2018-04-11
  • 2016-12-08
  • 2019-08-04
  • 2020-12-07
  • 2018-12-30
  • 2020-06-03
  • 2020-08-14
相关资源
最近更新 更多