使用API和剃刀页面启动ASP.NET核心web项目



我是web开发的初学者,我想启动一个新的ASP.NET Core项目,我对项目的结构和最佳实践有一些问题。所以,我的目标是制作一个网站使用剃须刀页和网页API所有的。我考虑了两个选项:

  1. 为API和剃刀页面制作不同的项目,并在它们之间制作一个具有API助手的C#库,该助手将HTTP请求发送到API项目
  2. 将API和剃刀页面放在同一个项目中。我认为这个选择要简单得多,但我有一些担忧。如何调用API?(我看到您可以使用jQuery,或者以与我相同的方式创建API Helper类(。如果我对API调用使用jQuery,我可以在jQuery将数据发送到API之前在C#中进行验证吗

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

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

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

最新更新