ASP.NET Core Web API与ASP.NET Core应用程序的区别

18

首先,如果这是一个琐碎的问题,我向您道歉,但是我被我阅读的信息搞得很困惑。因为我认为我的问题太宽泛了,所以一直没有在这里发布。 我是一名C++开发人员,但我想进入Web开发领域。

我的最终目标是拥有一个Web API,该API被Web应用程序和移动应用程序同时使用。我想通过开发Web API和Web应用程序来先把框架打好,然后再将其扩展到移动平台上。

我的目标是有4个单独的部分:数据库-> Web API-> Web应用程序 ->移动应用程序 所有这些都受到用户名/密码等保护

我决定使用ASP.NET Core,但在创建应用程序时,Visual Studio给了我两个选项 - ASP.NET Core应用程序或Web API。我尝试创建Web API和单独的Core应用程序,但无法弄清楚如何调用Web API。我还尝试创建Core应用程序,因为似乎我应该能够在一个项目中完成我想要的所有事情,但我担心Web API不够分离,不能从移动应用程序中调用。

我将使用包含敏感信息的数据库,因此显然需要保护对Web API和Web /移动应用程序的访问。我一直在Pluralsight上观看有关Identity的课程,但我读到它与Web API不兼容。

基本上,在我的想法中,我的最终目标应该相对简单实现,但我却感到非常困惑。如果有人能给我一些指针,告诉我需要使用哪些技术,那就太棒了。


你在开发方面有进展了吗?能否报告一下你是如何实现的?我即将开始同样的工作。 - Janneck Lange
1个回答

13

ASP.NET Core WebAPI 是专门设计用于构建 REST-ful 服务的。

ASP.NET Core 应用程序 用于创建返回视图和数据的 web 应用程序(它是标准框架中 Asp.NET MVC 的类比)。

选择哪一个取决于您要使用的 WebApp 类型。如果您计划使用某些 SPA 框架,则不需要在服务器端生成视图机制 - WebAPI 是一个很好的选择,否则请选 Application。您可以在这里找到更多差异细节。

就安全问题而言,WebAPI 没有问题。它提供了许多机制来保护您的 API,并基于用户身份限制对方法的访问。请参考本文作为示例。


谢谢您的回复。我的目标是通过Azure托管Web API。我已经为Web应用程序获得了域名,并将使用Azure进行托管,但我想象它们将在不同的服务器上,所以根据您的说法,我应该创建一个Web API,然后使用SPA框架来构建Web应用程序?因为Web API和视图将位于不同的服务器上。 - CraigWake
@CraigWake 实际上你可以在同一个WebAPI中托管SPA。这是一篇关于如何实现的文章之一:https://malcoded.com/posts/angular-backend-asp-core - Alex Riabov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接