3

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

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

企业架构

简单来说:

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

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

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

WCF 服务具有所有实体框架引用和连接字符串。

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

缓存是一个独立的服务器

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

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

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

4

2 回答 2

4

听上去你可能想要使用服务器端 Blazor。这是完全发生在服务器端的渲染模型,并使用一个小的运行时来更新客户端 DOM。

这种 Blazor 模型意味着没有 C# 传递给我认为解决您公司政策的客户端。

我真的建议您阅读官方网站上的所有文档。这一切都很好地解释了。

于 2019-06-26T07:48:04.303 回答
3

Blazor 服务器端托管模型最适合企业以及您在问题中提到的要求。不过,我可能会把重点转移到 WCF 的使用上,因为 WCF 是一项古老的技术,你已经努力学习了,但是微软不会在 .Net Core 5 中支持它。开始思考Web Api

Blazor 服务器端和 Web Api 可以成为您如意项目的可行解决方案......

希望这可以帮助...

于 2019-06-26T08:13:30.377 回答