您现在的位置是:网站首页> 编程资料编程资料
使用CefSharp在.Net程序中嵌入Chrome浏览器_实用技巧_
2023-05-24
322人已围观
简介 使用CefSharp在.Net程序中嵌入Chrome浏览器_实用技巧_
有的时候,我们需要在程序中嵌入Web浏览器,其实.Net Framework中本身就提供了WebBrowser控件,本身这个是最简单易用的方案,但不知道是什么原因,这个控件在浏览网页的时候有些莫名的卡顿,有的时候甚至能达到好几秒,严重影响体验。
这个时候,我们可以考虑使用第三方浏览器来代替系统的WebBrowser,常见的方案是使用版本帝Chrome,Chrome本身提供了供第三方程序嵌入的方案Chromium Embedded Framework (CEF),但这个是C++的接口,在.Net程序中使用还是有一定的工作量的。不过目前已经有一些开源的项目完成了这一封装,其中的一个佼佼者就是CefSharp,WPF和WinForm的封装都实现了,本文就简单的介绍一下如何在WPF程序中使用CefSharp来嵌入Chrome浏览器。
安装:
安装的过程非常简单,只要使用NuGet安装CefSharp.Wpf即可。
PM> Install-Package CefSharp.Wpf
安装过程本身比较常规,不过值得一提的是,这个包非常大,由于集成了x86和x64的版本,整个包(加上几个依赖的包)达到了200多mb,基于众所周知的原因,和Nuget的访问一直不大通畅,有时还抽风整个过程非常漫长,一定要有足够的耐心以及人品。
修改编译选项:
由于Chrome是原生程序,目前CefSharp还不能做到32位和64位自动识别,不能使用默认的AnyCPU的编译选项,需要修改一下配置管理器,改成x86或x64才行。


使用:
使用的过程比较简单,直接使用如下代码即可。
private void MainWindow_Loaded(object sender, RoutedEventArgs e) { var setting = new CefSharp.CefSettings(); CefSharp.Cef.Initialize(setting, true, false); var webView = new CefSharp.Wpf.ChromiumWebBrowser(); this.Content = webView; webView.Address = "http://www.cnblogs.com/TianFang/"; }参数设置
在实现了.Net程序中嵌入Chrome浏览器后,下一步的个性化操作就是加入一些设置了,,我们可以看到在使用Chrome控件前,有如下一个操作:
var setting = new CefSharp.CefSettings(); CefSharp.Cef.Initialize(setting, true, false);
这个setting变量就是用来存放chrome的全局设置的地方,当需要进行设置的时候,只需要对它进行修改即可。例如,我们要修改缓存目录,只需要如下设置即可:
var setting = new CefSharp.CefSettings() { CachePath = Directory.GetCurrentDirectory() + @"\Cache", };另外,有的设置是通过启动参数传入的,这些启动参数存放在CefCommandLineArgs成员中了,通过字符串的形式传入。例如,我们要给Chrome程序加一个代理服务器,则可以修改如下:
setting.CefCommandLineArgs.Add("--proxy-server", "http://127.0.0.1:8877");到此这篇关于使用CefSharp在.Net程序中嵌入Chrome浏览器的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- .Net中的弱引用字典WeakDictionary和ConditionalWeakTable介绍_实用技巧_
- 详解.NET中负载均衡的使用_实用技巧_
- .Net使用Xunit工具进行单元测试_实用技巧_
- .Net使用日志框架NLog_实用技巧_
- 在.NET Core中使用CSRedis的详细过程_实用技巧_
- 在Code First模式中自动创建Entity模型_实用技巧_
- Entity Framework代码优先Code First入门_实用技巧_
- .Net中的不可变集合(Immutable Collection)程序集简介_基础应用_
- 一文掌握.Net core中的缓存_实用技巧_
- C#中常用的IO操作介绍_实用技巧_
