WebView2控件应用详解系列博客

.NET桌面程序集成Web网页开发的十种解决方案

.NET混合开发解决方案1 WebView2简介

.NET混合开发解决方案2 WebView2与Edge浏览器的区别

.NET混合开发解决方案3 WebView2的进程模型

.NET混合开发解决方案4 WebView2的线程模型

.NET混合开发解决方案5 WebView2运行时与分发应用

.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件

.NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件

.NET混合开发解决方案9 WebView2控件的导航事件

.NET混合开发解决方案10 WebView2控件调用网页JS方法

.NET混合开发解决方案11 网页JS调用C#方法

.NET混合开发解决方案12 网页JS调用C#方法访问WinForm或WPF窗体

.NET混合开发解决方案13 自定义WebView2中的上下文菜单

.NET混合开发解决方案14 WebView2的基本身份验证

.NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明

.NET混合开发解决方案16 管理WebView2的用户数据

.NET混合开发解决方案17 清除WebView2的缓存记录

.NET混合开发解决方案18 调试WebView2应用

.NET混合开发解决方案19 使用 DevTools 协议帮助程序

.NET混合开发解决方案20 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用

.NET混合开发解决方案21 WebView2 应用的开发最佳做法

.NET混合开发解决方案22 开发安全的 WebView2 应用

.NET混合开发解决方案23 将 WebView2 应用分发为单个可执行文件

  在本系列的前面多篇文章中介绍了WebView2从入门到集成的详细过程以及核心知识点。我为什么会写这么多篇博客来记录WebView2的使用历程,主要是在开发《建筑工程施工图BIM智能审查系统》过程中,勘察设计单位端与审查专家端(C/S架构 WinForm)的程序集成了Web端BIMFace的功能。第一次使用了CefSharp组件,集成开发结束后,测试及使用过程中遇到了一些无法处理的bug及严重的性能问题。然后又测试对比了其他多种组件,具体情况可以阅读我的博客《.NET桌面程序集成Web网页开发的十种解决方案》。最终选用了微软新出品的基于Edge浏览器的WebView2组件,经过测试及大量客户实际应用,可以直观的感受到WebView2组件的功能稳定性与其他强大、便捷之处。

下面通过多方位的对比WebView2与CefSharp组件,让大家有更直观的感受,抛砖引玉,希望对大家有所帮助。

如有表述不当,请大家及时指出。两者还有一些其他常用功能,这里无法详尽列出,大家可以在使用中再仔细对比。

其中第23项的现象如下

其中第24、25项的对比

  • 使用CefSharp组件加载大体量BIM模型渲染失败的现象

  • 使用WebView2组件加载大体量BIM模型渲染成功的现象

(1)CefSharp组件加载Web网页,BIMFACE轻量化后的模型加载到38%左右时,渲染失败,呈现黑色效果,客户端电脑的CPU跑满,内存消耗95%。在建筑工程施工图BIM智能审查应用场景中,BIM模型相对CAD、PDF来说,模型尺寸呈几何级增长,超大模型甚至达到10G,构件数量达到万级、三角片面数量达到百万甚至千万级。 同一台电脑,同一套程序,使用WebView2组件加载相同的大模型时一切正常,且CPU、内存均比使用CefSharp时使用率低。

(2)CefSharp加载大体量模型时,当内存消耗过高时,导致客户端程序闪退。 WebView2组件不存在该问题。

  经过对比不难发现 Cefsharp 与 WebView2 组件的功能都非常丰富。客户端程序如果只是集成简单的网页应用,二者任选其一都可以,前提是客户端电脑的缩放比例必须是100%。如果是加载游戏、二维图纸、三维模型等复杂内容时,建议使用微软的WebView2组件,其性能与稳定性比CefSharp处理的更好。

.NET混合开发解决方案24 WebView2对比CefSharp的超强优势的更多相关文章

  1. .NET混合开发解决方案9 WebView2控件的导航事件

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

  2. .NET混合开发解决方案14 WebView2的基本身份验证

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

  3. .NET混合开发解决方案10 WebView2控件调用网页JS方法

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

  4. .NET混合开发解决方案11 WebView2加载的网页中JS调用C#方法

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

  5. .NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

  6. .NET混合开发解决方案5 WebView2运行时与分发应用

    系列目录     [已更新最新开发文章,点击查看详细] 发布使用Microsoft Edge WebView2的应用程序时,客户端计算机上需要安装WebView2运行时,可以安装自动更新的Evergr ...

  7. .NET混合开发解决方案13 自定义WebView2中的上下文菜单

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

  8. .NET混合开发解决方案16 管理WebView2的用户数据

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

  9. .NET混合开发解决方案12 网页JS调用C#方法访问WinForm或WPF窗体

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

随机推荐

  1. HCIE-SEC笔记-第四节-网络入侵和防火墙基础

    等级保护: 网络安全:防火墙.VPN.准入控制 渗透测试: 防火墙:区域隔离和访问控制 数字与研究公司:用数据说话 IDC:国际数据公司 Gartner:著名的数字与咨询公司 弗雷斯特: 数世咨询: ...

  2. python基础练习题(题目 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身)

    day8 --------------------------------------------------------------- 实例013:所有水仙花数 题目 打印出所有的"水仙花 ...

  3. Water 2.6.1 发布,一站式服务治理平台

    Water(水孕育万物...) Water 为项目开发.服务治理,提供一站式解决方案(可以理解为微服务架构支持套件).基于 Solon 框架开发,并支持完整的 Solon Cloud 规范:已在生产环 ...

  4. Python 一网打尽<排序算法>之堆排序算法中的树

    本文从树数据结构说到二叉堆数据结构,再使用二叉堆的有序性对无序数列排序. 1. 树 树是最基本的数据结构,可以用树映射现实世界中一对多的群体关系.如公司的组织结构.网页中标签之间的关系.操作系统中文件 ...

  5. .NET性能优化-你应该为集合类型设置初始大小

    前言 计划开一个新的系列,来讲一讲在工作中经常用到的性能优化手段.思路和如何发现性能瓶颈,后续有时间的话应该会整理一系列的博文出来. 今天要谈的一个性能优化的Tips是一个老生常谈的点,但是也是很多人 ...

  6. XCTF练习题---WEB---get_post

    XCTF练习题---WEB---get_post flag:cyberpeace{5526ac8044f1c5cfb5c421d34dff7822} 解题步骤: 1.观察题目,打开场景 2.观察页面内 ...

  7. php错误异常及其排错

    错误和异常 错误 php程序自身的问题,一般是由非法的语法,环境问题导致 异常 一般是业务逻辑上出现的不合预期.与正常流程不同的状况,不是语法错误 错误异常继承关系 小括号表示php版本 php7下的 ...

  8. Prometheus监控实战应用

    目录 1.Prometheus的主要特征及概述 2.普罗米修斯原理架构图 3.下载安装启动Prometheus 4.web客户端操作 5.默认图像 6.目录解释 7.配置文件 8.监控指标 8.1.监 ...

  9. IIS方式部署项目发布上线

    VS2019如何把项目部署和发布 这里演示:通过IIS文件publish的方式部署到Windows本地服务器上 第一步(安装IIS) 1.在自己电脑上搜索Windows功能里的[启用或关闭Window ...

  10. Java测试报告

    测试题目:ATM机 程序说明:本程序中共包含了两个类,分别为Account类和AccountManager类 Account类代码: public class Account { private St ...