CefSharp Wpf,多个实例的会话Cookie

时间:2016-11-06 16:31:12

标签: wpf cefsharp chromium-portable

如果CEF Sharp有可能将某个浏览器实例与其他实例隔离开来,我很好奇。

我正在创建4个浏览器实例。登录实例, 立即有3个其他实例登录。

是否有可能以某种方式实现我们从Nuget获得的当前版本?

2 个答案:

答案 0 :(得分:3)

revision 2040开始,CEF现在在请求上下文的基础上添加了对完全隔离存储和权限(缓存,cookie,localStorage,访问授权等)的支持。现在也在CEFSharp中。

要确保多个实例之间没有会话重叠,只需创建一个新的RequestContextSettings对象,将PersistSessionCookies和/或PersistUserPreferences设置为false,并在创建新的RequestContext时将其分配给您的浏览器 - 我不确定是否将它们设置为false对于多个实例是完全必要的,也许其他人可以提供一些信息。

//usually ChromiumWebBrowser setup goes above this

RequestContextSettings requestContextSettings = new RequestContextSettings();

requestContextSettings.PersistSessionCookies = false;
requestContextSettings.PersistUserPreferences = false;

webBrowser.RequestContext = new RequestContext(requestContextSettings);

这让我头疼了一段时间,这似乎最终解决了这个问题。

答案 1 :(得分:-2)

只需使用此代码,它就适合我。

public MainWindow()
    {
        CefSharp.CefSettings settings = new CefSharp.CefSettings();
        settings.CachePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\CEF"; 
       CefSharp.Cef.Initialize(settings);

        InitializeComponent();
        browser = new ChromiumWebBrowser("https://google.com/");
        browser.BrowserSettings.ApplicationCache = CefSharp.CefState.Disabled;

    }