概览

Blazor目前有两种托管模式,一种是Server-Side模式,一种是WebAssembly模式。官方首先支持的是Service-Side模式,使用WebAssembly模式,需要更新到最新版VS2019。小编目前的精力是更多的专注于Blazor-WebAssembly模式的研究,所以本系列文章只会对Server-Side模式做简要说明。

WebAssembly

WebAssembly模式(也可叫做Client-Side模式),WebAssembly前文已经说了很多了,本文不再做额外讨论。我们主要来看一下ASP.NET Core Blazor是如何实现WebAssembly模式的。Blazor启动后,会将依赖项、.NET运行时以及应用组件下载浏览器,应用将在浏览器上直接运行。其交互如图所示:同时其UI更新和事件处理也在统一进程中进行,如下图所示:

WebAssembly优点

  • Web 程序集在客户端、浏览器内运行,因此可以作为静态文件进行部署。

  • 相对于Server-Side模式,当与服务器连接断掉时,依然可以连接,但是涉及到数据库查询等后台功能时,肯定是无法正常工作的。

  • 可以减少服务器负载压力。

WebAssembly缺点(此处有误,请看评论)

  • 由于其每个交互HTML由服务器端预呈现,这意味Server-Side无法使用静态化方案。同时其往返流程所涉及到的时间消耗,这也只能使得Server-Side模式可能会有更高的延迟。

  • 需要始终与服务器建立活动连接,一旦服务器关闭,应用也将立即停止工作。

  • 服务器压力会较大。

Server-Side

Server-Side模式于2019年9月发布,其目的是使得ASP.NET Core 应用中在服务器上执行应用。其交互如图所示:UI 更新、事件处理和 JavaScript 调用是通过 SignalR 连接进行处理。如下图所示:

Server-Side优点

  • Blazor 服务器端已经先于客户端呈现了HTML内容。相对于WebAssembly模式要下载很多的文件,Server-Side的启动速度更快,也对搜索引擎更加友好。

  • 由于浏览器端只需要专注于HTML相关内容的展示,这意味Server-Side几乎不会遇到什么兼容性。

Server-Side缺点

  • 由于其每个交互HTML由服务器端预呈现,这意味Server-Side无法使用静态化方案。同时其往返流程所涉及到的时间消耗,这也只能使得Server-Side模式可能会有更高的延迟。

  • 需要始终与服务器建立活动连接,一旦服务器关闭,应用也将立即停止工作。

  • 服务器压力会较大。

Blazor带我重玩前端(二)相关推荐

  1. Blazor带我重玩前端(四)

    布局 Blazor中的布局和MVC中的布局是类似的. 创建布局 新建一个Razor页面,所有新增的布局都要继承LayoutComponentBase,同时标识自定义内容的输出位置,即标识Body的位置 ...

  2. Blazor带我重玩前端(五)

    概述 本文主要讨论Blazor事件内容,由于blazor事件部分很多,所以会分成上下两篇,本文为第一篇,后续会有第二篇. 我们可以视组件是一个类,我们先看一下前文所说的Index.Razor页面生成的 ...

  3. Blazor带我重玩前端(三)

    VS自带的Blazor模板介绍 需要升级VS2019以及.NET Core到最新版(具体的最低支持,我已经忘了,总是越新支持的就越好),以更好的支持自己开发Blazor项目. 使用VS创建Blazor ...

  4. Blazor带我重玩前端(一)

    写在前面 曾经我和前端朋友聊天的时候,我说我希望有一天可以用C#写前端,不过当时更多的是美好的想象,这一切正变得真实-- 什么是Blazor 我们知道浏览器可以正确解释并执行JavaScript代码, ...

  5. Blazor带我重玩前端(六)

    本文主要讨论Blazor事件内容,由于blazor事件部分很多,所以会分成上下两篇,本文为第二篇. 双向绑定 概述 如图所示 当点击单项绑定的时候,MyOnewayComponent里的属性值会发生变 ...

  6. 重学前端学习笔记(二十二)--选择器的机制

    笔记说明 重学前端是程劭非(winter)[前手机淘宝前端负责人]在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加入winter的专 ...

  7. 柚缘航海:Tik Tok电商带货怎么玩?

    以下全是吐血干货(建议点赞+收藏,再慢慢看)如果想了解更多的干货,可以关注旭柚. 我们讲了Tik Tok目前常见的五种变现方式,这篇文章就给大家着重来讲讲其中的创作者基金和电商带货. 一.创作者基金 ...

  8. 【Python】玩转二维码:生成、伪造和识别

    玩转二维码 前言及视频 一.二维码的生成 1.1 导包和相关说明 1.2 设置当前目录 1.3 设置保存目录 1.4 设置图标文件 1.5 清空输入项 1.6 初始化二维码 1.7 生成二维码图片主程 ...

  9. 【笔记】重学前端-winter

    本文为:winter 发布在极客时间 [重学前端]系列课程的的笔记和总结 支持正版哦: https://time.geekbang.org/col... 导语 如果深入进去了解,你会发现,表面上看他们 ...

最新文章

  1. CSS3学习系列之颜色
  2. JavaScript中获取表单信息并添加在表格中
  3. ionic入门教程第十六课-在微信中使用ionic的解决方案(按需加载加强版)
  4. inline-block 和 float 的区别
  5. iOS self 和 super 学习
  6. Sales area data model research in QDD
  7. CC1310在868MHz的电路设计
  8. POJ 1577 Falling Leaves(二叉查找树)
  9. 有没有比python更简单的语言排名_编程语言4种更快更简单实现Python数据可视化的方法...
  10. 估值指标方法20190805
  11. 使用HeartBeat实现高可用HA的配置过程详解
  12. 利用JS+Ajax实现下拉列表无刷联动,及其相关
  13. c# Excel的操作
  14. 将图像绘制成3维立体散点图
  15. python引用计数的原理_深入Python中引用计数
  16. [M1]Daily Scum 10.11
  17. 机顶盒宽带拨号失败服务器未响应,机顶盒详细错误代码.doc
  18. 天龙八部本服务器的注册码,天龙八部服务端配置! - 网游单机讨论 - 藏宝湾网游单机站 - Powered by Discuz!...
  19. js 立方 平方怎么写
  20. win10共享打印机搜索不到计算机,win10为什么搜索不到共享打印机

热门文章

  1. 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
  2. oracle使用sqlplus查询sql格式
  3. google天气预报接口_将天气预报添加到谷歌浏览器
  4. android wi-fi_如何在Android手机上查找3G或Wi-Fi速度
  5. iphone手机备忘录迁移_如何在iPhone和iPad上使用语音备忘录
  6. mysql获取查询策略语句_MySQL数据库查询性能优化策略
  7. pta7-7旅游规划(dijkstra算法)
  8. 异常处理—错误抛出机制
  9. PHP单例模式(精讲)
  10. 《互联网+流通——F2R助力传统产业创新与转型》一一第1章 “互联网+”的新时代...