2014-10-25 3 views
0

установки параметров:Кэширование Печенье в Awesomium

Я строю приложение MDI. Одна из дочерних форм, которую я называю, представляет собой базовый веб-браузер с использованием API Awesomium.

Ссылка: BrowserControl.cs

public partial class BrowserControl : UserControl 
{ 
    public BrowserControl() 
    { 
     InitializeComponent(); 
    } 

    private void OnControlLoad(object sender, EventArgs e) 
    { 
     String w3DataPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\HttpAgent"; 
     if (!Directory.Exists(w3DataPath)) 
     { 
      Directory.CreateDirectory(w3DataPath); 
     } 
     var webSession = WebCore.CreateWebSession(w3DataPath, WebPreferences.Default); 
     webControl.WebSession = webSession; 
    } 

    private void OnBackButtonClick(object sender, EventArgs e) 
    { 
     this.webControl.GoBack(); 
    } 

    private void OnFwdButtonClick(object sender, EventArgs e) 
    { 
     this.webControl.GoForward(); 
    } 

    private void OnReloadButtonClick(object sender, EventArgs e) 
    { 
     this.webControl.Reload(true); 
    } 

    private void OnStopButtonClick(object sender, EventArgs e) 
    { 
     this.webControl.Stop(); 
    } 

    private void OnHomeButtonClick(object sender, EventArgs e) 
    { 
     this.webControl.GoToHome(); 
    } 

    private void OnSearchButtonClick(object sender, EventArgs e) 
    { 
     String urlString = String.Format("https://www.google.com/#q={0}", HttpUtility.UrlEncode(this.SearchBox.Text)); 
     this.webControl.Source = new System.Uri(urlString); 

    } 

    private void OnLoadingFrame(object sender, Awesomium.Core.LoadingFrameEventArgs e) 
    { 
     this.BrowserStatus.Text = "Loading " + e.Url; 
    } 

    private void OnLoadingComplete(object sender, Awesomium.Core.FrameEventArgs e) 
    { 
     this.BrowserStatus.Text = "Document Ready"; 
    } 

    private void OnLoadingFailure(object sender, Awesomium.Core.LoadingFrameFailedEventArgs e) 
    { 
     this.BrowserStatus.Text = e.ErrorDescription; 
    } 
} 

Проблема: Функционально браузер работает нормально; однако он не кэширует какие-либо постоянные данные локально. Обратите внимание, я установил действительный DataPath с помощью Awesomium WebSession объекта, как указано в приведенном выше методе OnControlLoad()

С точки зрения справедливости пути я определяю - Я подтвердил, что это действительно существует на диске, и даже появляется Awesomium WebSession добавляет подкаталог с именем «cache». К сожалению, ни одно из файлов cookie, которые я получаю на моем веб-сеансе, не сохраняется на локальном компьютере. Фактически - ничего не кэшируется. И каталог HttpAgent, который я определяю, и каталог кэша, который определяет объект WebSession, пустые после преднамеренного входа в сайты, которые я знаю, устанавливают файлы cookie.

Любое понимание или помощь были бы весьма полезны. Спасибо

ответ

0

Я не уверен, если это поможет, но попробуйте закрыть Awesomium «правильно»: выставить WebControls, WebSession, позвонить WebCore.Shutdown().

+0

Good Point Alex - Я дам вам попробовать! –

+0

К сожалению, это не сработало –

Смежные вопросы