企业的 Blazor 托管模型

Blazor hosting model for the Enterprise

我一直在积极跟进 Blazor,现在我想从我的工作场所获取一个企业应用程序,并将其转换为 blazor,并保持在企业的限制范围内。我有很多问题,但我会非常集中:在托管方面,我从什么模型开始。 ASP.Net托管、服务器还是客户端?

这是我公司几乎所有最简单的应用程序都遵循的通用架构:

简述:

门户网站和移动应用程序(通常也包括网站)不能有任何对 ADO 或 Entity Framework 的引用。它们只能有指向服务端点的 URI。不允许直接访问数据库。如果可用,这些 UI 层必须缓存数据。

用户身份验证是联合的,我们使用 Okta。因此,单点登录 (SSO) 允许我获取用户标识符(域电子邮件),并将其传递回逻辑层以从数据库中获取匹配的身份验证。

WCF 客户端是使用 WcfClientProxyGenerator 自动生成的,并且取决于 Web 应用程序的应用程序设置以引入 URI。

WCF 服务具有所有 Entity Framework 引用和连接字符串。

Web 应用程序在负载平衡的 VM 对后面,WCF 服务(以及后面的所有内容)也是一对负载平衡的 VM

缓存是一个独立的服务器

在这样的环境下,我为Blazor选择了什么样的托管模式?我的 Web 服务器不是基于云的,而是数据中心中的虚拟机。它们是 Windows 带有 IIS 的 Server 2016,在大多数情况下,IT 和网络安全部门期望在 IIS 上的应用程序池下有一个标准的 Web 应用程序 运行。

此外,由于 Blazor 的性质,我允许某些 C# 代码可供客户端使用(查看源代码),但这应该只是格式化逻辑等类型的代码。任何其他甚至暗示模型或数据被发回的东西都是大忌(C# 或 Java)

我现在正在尝试了解服务器端和托管端。任何指导将不胜感激。

听起来您可能想使用 server-side Blazor。这是完全 server-side 并使用小型运行时更新客户端 DOM 的渲染模型。

这种 Blazor 模型意味着不会将 C# 传递给客户端,我认为这符合贵公司的政策。

我真的建议您通读 official site 上的所有文档。这一切都在那里得到了很好的解释。

Blazor server-side 托管模型最适合企业,也最适合您在问题中提到的要求。不过,我可能会把重心转移到WCF的使用上,因为WCF是个老技术,你努力学习,可惜微软不会在.Net Core 5中支持它。开始思考网页Api

Blazor server-side 和 Web Api 可以成为您如愿以偿的项目的可行解决方案...

希望这对您有所帮助...