我将使用新的 .NET 5 Blazor 框架创建一个 ERP 应用程序,其中包含 300 个页面和 250 个并发用户。我想知道哪种建模托管更适合开发 ERP 应用程序:Blazor Server 或 Blazor Web Assembly。
答案 0 :(得分:1)
如果您保持相同的功能级别,Blazor Server App 或 WebAssembly 将消耗几乎相同的资源:API 调用和双向通信(WebSocket = SignalR 连接)
如果您不需要 WebSocket,那么 WebAssembly 可以更好地扩展。
对于少于 5000 个并发连接的 Intranet,那么 Blazor Server 是更好的选择,因为:
WebSocket 更适合 CPU 密集型处理,可以在客户端或调用很少 API 的站点上运行
答案 1 :(得分:0)
Blazor Server App 在服务器上运行,并通过 SignalR 与其客户端(浏览器)进行通信。服务器不会为应用程序的每个连接创建应用程序的实例。由于代码在服务器上执行,并且只有 html diffs 传递给客户端以更新 DOM,服务器为每个连接的客户端创建一个电路对象,该对象存储应用程序状态、会话数据等。这可以是要求很高,但仍然有效,服务器可以同时为数千个客户端提供服务。
WebAssembly Blazor 应用托管的工作方式不同。服务器的作用只是在首次访问应用程序时为其提供服务。应用程序本身在客户端的浏览器上运行,一切都在客户端上执行。这里不涉及服务器。当您的 Web 应用程序是 MVC 应用程序或 Razor Pages 应用程序时,从 Blazor 客户端到 Web Api 端点执行 HTTP 调用等效于从客户端浏览器到 Web Api 执行 AJAX 调用。实际上,WebAssembly 应用程序在幕后使用 JavaScript Fetch Api 将 HTTP 调用发送到 Web Api 端点。
答案 2 :(得分:0)
我觉得... ERP系统的某些功能应该在离线状态下运行。 所以 Blazor WebAssembly 应用程序比 Blazor 服务器应用程序更好。 我希望这是你想要的答案:)