Page 1 of 1

使用新的 Blazor Web 应用程序项目模板创建 .NET Blazor 托管应用程序(在 .NET 8 中)

Posted: Wed Jan 15, 2025 7:09 am
by suchona.kani.z
Blazor 是一个 .NET 前端框架,用于使用 C#(而不是 JavaScript)构建交互式 Web UI。这提供了许多优点,例如能够在后端和前端之间共享代码。使用 Blazor,您不再需要使用两种不同的语言:前端使用 JavaScript,后端使用 C#。这使得在熟悉的语言环境中重用代码和编写一致的应用程序变得更加容易。此外,许多错误可以在编译时解决,并且不再像 JavaScript 那样在应用程序运行时动态变化。

Blazor 的托管模型
Blazor WebAssembly 托管模型
这涉及使用基于 WebAssembly 的 .NET 运行时在浏览器 阿尔及利亚 whatsapp 数据​ 中运行客户端组件。所有 Razor 组件、它们的依赖项以及 .NET 运行时都在浏览器中加载和执行。 UI 更新和事件处理发生在同一进程中。

这种托管模式的优点
Blazor WebAssembly 提供了更快的用户体验,因为 UI 更新是即时的,无需往返服务器。
它支持离线功能,并且可以作为渐进式 Web 应用程序 (PWA) 运行。
扩展应用程序更加容易,因为所有用户都运行应用程序的副本。
这种托管模式的缺点
Blazor WebAssembly 需要下载和执行更多客户端资源,导致初始应用程序启动时加载时间缓慢。
它的安全性可能较低,因为敏感数据和业务逻辑是在客户端下载和执行的。用户可以访问客户端代码。
WebAssembly 在浏览器中的安全环境中运行。这就是为什么存在许多限制并且您无法使用所有 .NET 库的原因。
Blazor 服务器托管模型
使用这种方法,浏览器只进行渲染,所有代码都在服务器上执行。为此,需要使用 SignalR(一个支持实时 Web 应用程序的开源库)建立与服务器的永久连接。

这种托管模式的优点
它相对简单,代码在服务器上以正常的 .NET 进程执行,您可以将完整的 .NET 与所有库一起使用。
由于需要下载和执行的客户端代码较少,因此初始应用程序启动时的加载时间更快。
它提供了更好的安全模型,因为敏感数据和业务逻辑存储在服务器上,客户端无法访问它。
这种托管模式的缺点
Blazor Server 需要与服务器保持持续连接,如果用户的互联网连接较弱或不可靠,这可能会带来不利。
实现复杂的 UI 交互可能会更加困难,因为 UI 更新速度比 Blazor WebAssembly 慢。