首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Awesomium缓存Cookies

在Awesomium缓存Cookies
EN

Stack Overflow用户
提问于 2014-10-25 19:08:10
回答 1查看 1.2K关注 0票数 0

设置:

我正在构建一个MDI应用程序。我调用的子表单之一是使用Awesomium的基本web浏览器。

参考资料:BrowserControl.cs

代码语言:javascript
复制
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;
    }
}

问题:在功能上,浏览器工作得很好;但是,它不会在本地缓存任何持久数据。注意,我已经使用Awesomium DataPath对象建立了一个有效的WebSession,如上面的方法OnControlLoad()所示。

就我定义的路径的有效性而言,我已经确认它确实存在于磁盘上,它甚至出现了Awesomium WebSession添加了一个名为"cache“的子目录。不幸的是,我在网络会话中获得的cookie没有一个是本地保存的。事实上,没有任何东西被缓存。我定义的HttpAgent目录和WebSession对象定义的缓存目录在有意登录到我知道的设置cookie的站点后都是空的。

如有任何见解或帮助,将不胜感激。谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-10-30 11:28:14

我不确定这是否有帮助,但尝试关闭Awesomium“正确”:处置WebControls,WebSession,调用WebCore.Shutdown()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26566172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档