繁体   English   中英

Blazor 以 WebAPI 后端托管的服务器

[英]Blazor Server Hosted with WebAPI backend

自从我上次进行任何开发以来发生了很多变化,所以请耐心等待,

概述

我的知识水平

一直在使用 C# 协助在服务器托管的应用程序中寻找错误,在此之前它是 Java 用于 IRC 机器人和 PHP 5.6。 哎呀,我只是让自己觉得自己老了

背景故事

我一直在积累我的知识并阅读各种教程和 Microsoft 文档(这让我对我需要/想要的东西更加困惑),我想确定一个 RESTful 数据流,如下图所示。

数据访问 Model,显示从客户端到 Blazor 服务器到 RESTful 服务器到数据库的关系,然后再返回

我找到了教程( 来自 Pragim 的示例- 我关注的是文本,而不是视频)并且它讨论了 Blazor 服务器级别的 ASP.Net Core Identity。 对我来说,将它移动到 RESTful 服务器(我现在知道使用 ASP.Net WebAPI )级别更有意义,因为我希望以后能够开发不同的前端,例如,稍后开发前端 Android 应用程序上并仍然维护相同的后端以进行授权、身份验证和数据管理。

我四处寻找更多教程并找到了使用 WebApi 教程保护客户端 Blazor,但它谈到了 Blazor WebAssembly。 我感觉信息太多了。

目标

我想提供一个松散耦合的管理系统来帮助我管理我的急救志愿者单位。 单位成员会使用该系统来跟踪他们的工作时间,查看和跟踪证书到期时间,不同角色和级别的领导会使用它来查看工作时间报告,以命令链方式发送通知,以及我认为系统需要的其他功能。 类似于员工管理系统。

也有可能从最多 50 个成员的本地单位发展到 3-5 个单位的理事会,并且在全国范围内的可能性很小,因此我需要松散耦合,因为可能需要交换不同级别的技术虽然这超出了当前开发的 scope,但 scope 是学习并拥有适合我单位的工作系统,我觉得需要以一种更容易成长/适应的方式进行设计。

我对 Blazor WebAss 与 Blazor 服务器托管的理解是 WebAss 下载所有逻辑,而服务器在服务器端呈现内容并且只发送更改,我选择了服务器,因为它可以通过以下设备访问在 4G 等无线接入上,减少带宽和处理使用是关键。 我决定尽可能全栈地使用 ASP.Net,C#。 Blazor 服务器和 Web API 是分开的,但在本地托管。

==============

总结 TL;DR:

如何使用Blazor Server Hosted访问WebAPI服务器进行认证/授权? 使用此设置甚至可以允许注册外部服务,例如 Google、Microsoft 和 Facebook 吗?

简短的回答是,您可以在同一个应用程序中调用外部 API,使用 Identity 并且 Identity 已经能够通过 google/ms/fb 进行身份验证。

但是 Blazor 服务器容易出现延迟(服务器在哪里很重要)并且需要良好的连接。 我会质疑它在这里的位置。

Blazor webassembly 是一个客户端 UI 框架,如果您倾向于删除它,以后会更容易,因为您的 webapi 是独立的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM