Как хранить кеш в cefsharp версии 79 - PullRequest
0 голосов
/ 20 апреля 2020

Я использую cefsharp в своем приложении Winform. Я пытаюсь хранить куки, кэшировать ... чтобы мне не приходилось заходить на веб-сайт каждый раз, когда я запускаю свое приложение. Я пытаюсь реализовать следующим образом:

Dim requestContextSettings = New RequestContextSettings()
requestContextSettings.CachePath = Application.StartupPath + "\Resources"
_browser = New ChromiumWebBrowser("https://cookies_enabled_web.com", New RequestContext(requestContextSettings, New CustomRequestContextHandler()))

Затем я реализую класс

Public Class CustomRequestContextHandler
Implements IRequestContextHandler

Public Sub OnRequestContextInitialized(requestContext As IRequestContext) Implements IRequestContextHandler.OnRequestContextInitialized
    Exit Sub
End Sub

Public Function OnBeforePluginLoad(mimeType As String, url As String, isMainFrame As Boolean, topOriginUrl As String, pluginInfo As WebPluginInfo, ByRef pluginPolicy As PluginPolicy) As Boolean Implements IRequestContextHandler.OnBeforePluginLoad
    Return True
End Function

Public Function GetResourceRequestHandler(browser As IBrowser, frame As IFrame, request As IRequest, isNavigation As Boolean, isDownload As Boolean, requestInitiator As String, ByRef disableDefaultHandling As Boolean) As IResourceRequestHandler Implements IRequestContextHandler.GetResourceRequestHandler
    Return Nothing
End Function

Конечный класс

Но это не работает, как ожидалось? Кто-нибудь знает, как решить проблему? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 27 апреля 2020

Наконец, я успешно сохранил данные кэша в Cefsharp версии 79. Я выполняю следующий код перед созданием экземпляра браузера.

 Dim setting As New CefSettings()
setting.CachePath = Path.Combine(Application.StartupPath, "Resources")
CefSharp.Cef.Initialize(setting)
...