惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
量子位
A
Arctic Wolf
L
Lohrmann on Cybersecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
V
Vulnerabilities – Threatpost
博客园 - Franky
C
Cyber Attacks, Cyber Crime and Cyber Security
The Cloudflare Blog
Last Week in AI
Last Week in AI
The Hacker News
The Hacker News
I
Intezer
J
Java Code Geeks
P
Privacy International News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Secure Thoughts
Cisco Talos Blog
Cisco Talos Blog
阮一峰的网络日志
阮一峰的网络日志
S
Securelist
Security Latest
Security Latest
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
Jina AI
Jina AI
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Exploit Database - CXSecurity.com
雷峰网
雷峰网
T
Tenable Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 【当耐特】
T
Threat Research - Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
N
News | PayPal Newsroom
Google Online Security Blog
Google Online Security Blog
K
Kaspersky official blog
H
Help Net Security
宝玉的分享
宝玉的分享
罗磊的独立博客
Webroot Blog
Webroot Blog
月光博客
月光博客
B
Blog RSS Feed
Recorded Future
Recorded Future

博客园 - weipt

终于!我造了个「AI代驾」级别的AutoBuilder,一键干掉80%的重复CRUD工作 OpenClaw 配置飞书机器人完整指南:从零到每天定时推送天气 国产数据库私有化部署实战:PolarDB for PostgreSQL 免费容器版踩坑记 发票打印还在花钱?这款免费小工具,A4纸一半大小、自动排版,真香! 🔥 自己写的FBX转3D Tiles工具,免费!还能当模型浏览器用 相同代码在360浏览器能显示,在edge提示webgl不支持,edge下都最新的内核。 什么是技术架构、数据架构、业务架构、应用架构和代码架构? 使用pyinstaller打包的exe文件太大,怎么办 2026无人机新规正式施行!各位飞手赶紧收藏 谈谈EF的两种模式 谈谈EF Core 微软官方的 ORM(对象关系映射)框架 Next.js和blazor server比较开发网站哪个好 关于vue项目中cesium的地图显示问题 关于顺丰退出抖音电商退货业务事件的分析 在WINDOWS上创建NTP授时服务器,并验证是否可用 这样的算作“全栈技术”吗? 大疆上云APIdemo打包配置 用nssm将minio和srs注册成服务 LoRa定位技术和蓝牙AoA定位技术的关系 Mysql查询工具,你还用navcat吗? jar注册为服务的方式 nginx怎么样配置rtmp推流服务器 时间戳和时间格式互转
Blazor Server和 Blazor WebAssembly区别
weipt · 2026-01-14 · via 博客园 - weipt

Blazor Server 和 Blazor WebAssembly 是两种完全不同的架构模式,虽然它们都让你能用C#写前端代码,但底层原理、部署方式、适用场景和优缺点都有显著区别。

简单来说,它们的核心差异在于 “代码在哪里执行”。


核心区别:执行位置


如何形象地理解?

想象一个计算器应用:

  • Blazor Server:你浏览器里的按钮只是一个“遥控器”。每次点击,信号都通过网络传到公司的服务器,服务器算出结果,再把新的数字发回给你屏幕。网络一断,计算器就废了。

  • Blazor WebAssembly:你把整个计算器的“引擎”(.NET运行时)和“说明书”(你的应用代码)都下载到了自己电脑里。点击按钮,浏览器本地直接计算并显示结果。下载完后,断网也能用。


如何选择?

选择 Blazor Server 如果:

  • 你的应用是企业内网应用,网络稳定、延迟低。

  • 你需要快速启动项目,首次加载速度至关重要。

  • 你的应用需要紧密集成服务器资源(数据库、文件系统、内部服务)。

  • 你不关心客户端离线运行。

  • 你希望保护核心业务逻辑代码(不让用户拿到)。

  • 你的用户可能使用老旧或性能较差的设备(因为计算在服务器)。

选择 Blazor WebAssembly 如果:

  • 你想构建一个面向公众的、更像传统SPA的网站。

  • 你希望应用在加载后能拥有更好的响应速度(操作无需网络往返)。

  • 你需要离线功能或想做成渐进式Web应用(PWA)。

  • 你希望减轻服务器的计算和连接负担(成本考虑)。

  • 你的应用与服务器交互主要是通过API获取数据。

  • 你能接受更长的首次加载时间(可通过延迟加载、缓存等技术优化)。


还有一个混合模式:Blazor Hybrid

顺便提一下,除了上述两种,还有 Blazor Hybrid(例如用 .NET MAUI 或 WPF/Windows Forms + WebView)。它把Blazor应用嵌入到原生客户端框架中,应用渲染在本地Web视图里,但C#代码直接在本机运行(无需WASM),可以无限制访问本地设备。这用于开发桌面或移动客户端应用,而不是网站。

总结建议

  1. 新手入门/内部工具:可以从 Blazor Server 开始,架构简单,部署容易,开发体验流畅。

  2. 公开网站/现代SPA:选择 Blazor WebAssembly,它更符合现代Web应用的预期和行为。

  3. 难以抉择? 现代Blazor项目模板支持 “托管”模型(Blazor Hosted),即前后端(WASM客户端 + ASP.NET Core API服务端)在一个解决方案里,你可以先按WASM开发,如果遇到性能或规模问题,未来甚至可以部分页面或整个应用迁移到Blazor Server,因为它们共享相同的组件模型。

最关键的问题是:你愿意用持续的服务器连接和资源来换取更快的加载和更薄的客户端吗(Server)?还是愿意用一次性的较大下载来换取客户端的自主性和更少的服务器负载(WASM)?