介绍
安装
指南
- Engine
- Profile
- Browser
- BrowserView
- 导航
- 内容
- 上下文菜单
- DOM
- JavaScript
- 弹出窗口
- 对话框
- 下载
- Chrome 扩展程序
- 网络
- 缓存
- Cookies
- 代理
- 身份验证
- 权限
- 插件
- 打印
- 密码
- 用户数据配置文件
- 信用卡
- 媒体
- 缩放
- 拼写检查器
- 部署
- Chromium
故障排除
- 日志记录
- 常见异常
- 应用程序不终止
- 视频不播放
- 无法登录 Google 账号
- 用户数据未被储存
- 配色方案
- 启动失败
- Windows 启动缓慢
- 无响应的 .NET 应用程序
- Chromium 进程意外终止
- 意外行为
- Windows 7/8/8.1 停止支持
迁移
缓存
本指南介绍了 Chromium 支持的缓存类型,并展示了如何使用它们。
Chromium 支持以下缓存类型:
- HTTP cache
- Blink cache
- HTML5 AppCache
当从页面发出任何资源请求时,它首先通过 Blink 加载器和 Blink 缓存。 对浏览器进程的请求可能会也可能不会从这里发出。 当它通过浏览器的网络堆栈时,它会到达 HTTP,磁盘或内存缓存。 页面与缓存之间没有显式通信。
HTML5 AppCache 由网页明确使用。 它存储的数据独立于其他缓存。
HTTP cache
默认情况下,HTTP 缓存将从网络上获取的资源存储在磁盘或内存中。 Chromium 会自行决定如何缓存资源以获得最佳性能。
内存缓存将资源存储到进程内存(即 RAM)或从进程内存加载资源。 这是一种快速但不持久的方法。 内容仅在您处置 IBrowser
实例之前可用。
磁盘缓存是一种持久化方式,因为缓存的资源存储在磁盘中,也可以从磁盘加载。
在 Windows 系统中,磁盘缓存存储在 用户数据 目录下的 Cache
文件夹中,看起来像这样:
C:\Users\<username>\AppData\Local\Temp\dotnetbrowser-chromium\<version>\<arch>\data\Cache\
隐身模式
在隐身模式下,Chromium 只将资源存储在内存中,不使用磁盘存储资源。 缓存的资源仅在您删除 Profile
或处置 IEngine
实例之前可用。
HTTP 缓存大小
默认缓存大小是在启动时计算的。 这取决于缓存所在的卷中的可用磁盘空间。
您可以在构造 IEngine
实例时使用适当的选项配置 HTTP 缓存大小。 例如,要设置 32MB 限制,请使用以下代码示例:
engine = EngineFactory.Create(new EngineOptions.Builder
{
DiskCacheSize = 33554432
}
.Build());
engine = EngineFactory.Create(New EngineOptions.Builder With
{
.DiskCacheSize = 33554432
}.Build())
如果磁盘缓存大小设置为零,则会自动计算并使用默认值。
清除 HTTP 缓存
要清除与特定 Profile
关联的 HTTP 缓存并在完成后执行操作,请使用以下代码示例:
profile.HttpCache.Clear().ContinueWith(t =>
{
// 缓存已被清除。
});
profile.HttpCache.Clear().ContinueWith(Sub(t)
' 缓存已被清除。
End Sub)
使用 IEngine.HttpCache()
方法,您将获得默认配置文件的 HttpCache
服务。
在调用 profile.HttpCache.Clear()
方法之前,建议至少运行一个 IBrowser
实例。 否则,可能会导致通话挂起。
清除 HTTP 身份验证缓存
要清除与特定配置文件关联的 HTTP 身份验证缓存,请使用以下代码:
profile.HttpAuthCache.Clear();
profile.HttpAuthCache.Clear()