企业的Blazor托管模型

时间:2019-06-26 07:10:42

标签: blazor blazor-server-side

我一直在积极追踪Blazor,现在我想从工作场所中获取企业应用程序并将其转换为blazor,使其不受企业的限制。我有很多问题,但我会重点关注:在托管时我应该从哪种模型入手。是ASP.Net托管,服务器还是客户端?

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

Enterprise Architecture

简而言之:

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

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

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

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

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

缓存是一个独立的服务器

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

此外,由于Blazor的性质,我允许客户端使用某些C#代码(查看源代码),但这仅是格式化逻辑等类型的代码。甚至可以暗示模型或数据被发送回的其他所有信息,都是不可行的(C#或Java)

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

2 个答案:

答案 0 :(得分:3)

听起来,您可能希望使用服务器端Blazor。这是完全在服务器端发生的呈现模型,并使用小的运行时来更新客户端DOM。

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

我真的建议您通读official site上的所有文档。那里的所有解释都很好。

答案 1 :(得分:2)

Blazor服务器端托管模型最适合企业版以及您在问题中提到的要求。但是,我可能会将重点转移到WCF的使用上,因为WCF是一项旧技术,您已经努力学习,但是,a,Microsoft不会在.Net Core 5中提供支持。开始思考 Web api

Blazor服务器端和Web Api可能是您希望的项目的可行解决方案...

希望这对您有帮助...