• 一分钟理解:Blazor WebAssembly 和 Blazor Server 差异性


    什么是Blazor?

    Blazor是一个使用.NET生成交互式客户端Web UI的框架。Blazor使用Razor语法,用于将HTML标记与C#代码结合在一起,最后将C#代码文件和Razor文件统一编译为.NET程序集。

    Blazor两种托管方式

    在Visual Studio开发环境中, 创建Blazor应用有两种托管方式:

    1、Blazor WebAssembly ---- 创建Blazor应用的项目模板,在WebAssembly上运行并且可选择是 否应用ASP.NET CORE托管。此模板应用于“ 需要丰富动态用户界面的WEB应用 ”场景。

    2、Blazor Server -----创建Blazor Server应用的项目模板,该应用在ASP.NET CORE内运行服务器端并通过SignalR链接进行用户交互处理。此模板亦应用于“ 需要丰富动态用户界面的WEB应用 ”场景。

    Blazor WebAssembly

    Blazor WebAssembly依赖于WASM标准,WebAssembly是一种可移植的二进制代码语言,现代浏览器都支持WASM。

    Blazor  WebAssembly传输的数据比较大,运行Blazor WebAssembly项目时,所有dll都必须传输到客户端。故程序直接在浏览器中执行,即使断网也不受影响。WebAssembly不依赖.NET运行时,从而可部署在静态文件服务器上。

    注:由于.NET的IL格式和WebAssembly是2种不同的二进制文件格式。因此,Microsoft实现了包含.NET运行时的WebAssembly文件:dotnet.wasm。它的职责之一就是,编译IL代码以在WebAssembly边界内执行。

     

    Blzaor Server 

    Blzaor Server传输的数据比较小,仅需要传输160KB左右的数据,页面几乎瞬时加载完成。因为Blazor Server项目不涉及WebAssembly,所有组件呈现逻辑都是在服务端实现的,只是将需要处理的UI更新通过SignalR发送给浏览器。 

     

    浏览器仅需处理javascript、CSS和HTML代码。但这样导致Blazor Server项目必须实时和服务端交互,使用类似_blazor?id=xxx这样的URL路径连接并传递数据:

    服务端必须依赖.NET运行时,因此只能部署在ASP.NET Core应用服务器上。所以,项目停止运行时,Server项目的页面需要重新连接服务器。

    两种不同托管方式的优缺点分析: ​​​​​​​​​​​​​​

     

      【完结】

     

  • 相关阅读:
    net-java-php-python-小学随班就读管理系统设计计算机毕业设计程序
    基于聚类和回归分析方法探究蓝莓产量影响因素与预测模型研究附录
    2022年湖北武汉建设厅七大员在哪里报考呢?个人可以报名吗?甘建二
    CUDA的骨骼化加速
    JMeter性能测试工具详解
    【Linux】2022 安装jdk教程,超级详细
    Linux 命令:PS(进程状态)
    电子竞赛1——基于DDS的AM信号发生器
    小孢子的神奇之旅-如何阅读MindSpore报错信息(3)
    CentOS和Ubantu的Mysql主从配置
  • 原文地址:https://blog.csdn.net/qing_lr/article/details/126947549