历时半个月博客程序升级到BlazorAuto后网站性能反而下降了

博客随笔
12
Blazor
Blazor Auto
Bootstrap Blazor UI
BootstrapBlazorRoot 组件
Blazor Server
组件报错问题

博客网站采用Blazor Server框架作为网站框架,已经运行了好一段时间,开发体验对后端开发人员很友好,但该模式下网站网络中断问题确实挺蛋疼的,比如写一大篇文章忘记保存了 中间上了个厕所回来就没了🤦‍♂️,不想换回Vue所以就又把目光放到了Blazor Auto这个模式上。

于是站长就基于Bootstrap Blazor UI框架做了个本测试项目,自己大致体验了下发现调试没啥大问题就直接上项目进行了重构,一通折腾下来发现要改的东西真不少,其次也有一些问题暴露出来 历时半个月博客程序升级到BlazorAuto后网站性能反而下降了

Blazor Server 和 Blazor Auto 的大致区别

Blazor Server 全程由服务器端进行渲染,不用暴露外部接口这块安全性很强,C#代码端可以直接操作数据库 开发很方便,再就是网页加载效率很快

Blazor Auto 说白了就是将Server和WebAssembly两种模式结合了,说是能够根据组件需求自动选择 Server 或 WebAssembly 模式,从而提高应用程序的性能,能同时满足SEO渲染和网络连接中断。

升级Blazor Auto需要的开发变动

  1. 为了数据交互将数据库实体独立出来(不建议这么做,理论上wasm里下载的dll可以反编译出来,所以不能放敏感性信息)
  2. 开发了N个webapi接口(为了网络中断问题,真不值得)
  3. 为了不暴露接口请求参数又写了个请求参数双端自动加解密方法,传参全是加密字符(webapi流量也增多了,同时也是防君子不妨小人,wasm需要解密,同样可以被反编译出来解密逻辑)
  4. 还有些WebAssembly的一系列小问题,这里就不细说了

未找到 BootstrapBlazorRoot 组件,无法完成当前操作

System.InvalidOperationException: SwalService not registered. refer doc https://www.blazor.zone/install-webapp step 7 for BootstrapBlazorRoot; 未找到 BootstrapBlazorRoot 组件,无法完成当前操作,请根据 https://www.blazor.zone/install-webapp 第七步骤指引完成操作

这个问题还挺无语的 报错反馈提示里的文档页面,打开被重定向住域名没有对应的解决方案,最后发现其实只需要在根页面加一个

标签就行了

未找到 BootstrapBlazorRoot 组件,无法完成当前操作

Blazor Server和Blazor Auto前后性能感受

站长更新发布后 体验结果感觉是比较差的,不但没有变快反而因为多了额外的http接口请求,导致页面初次加载比Server慢了很多,同时导致服务器负载增高,站长服务器确实比较垃圾,可能只能跑的了Server, 最后多了几倍的代码量,网站体验不但没提升反而大幅度下架,所以后面站长也老实用回了Server模式。

总结下来:Blazor WebAssembly还是更适合企业OA这一类的后台管理系统,.NET的后端开发者做博客类的小网站Server模式需要SEO可以玩玩,开发和维护都比较简单,公司业务项目不适合,Auto看似兼顾了二者的优点,但实际也有着二者的其他缺点,做跨平台客户端倒是个很不错的方案。

基于BootstrapBlazor实现一个用户评论留言板组件效果
Blazor页面嵌入子组件传入中文文本会被转义成Unicode字符的解决办法
微软系列Blazor开源Web框架入门学习到放弃
个人使用Blazor与BootstrapBlazor重构网站的开发体验太棒了
暂无相关内容...
暂无相关内容...
免责声明 部分转载分享内容若侵犯您的权益,还请 邮件联系 侵删