我试图为每个Chrome浏览器实例创建单独的用户会话,但无法找到任何相关的示例。目的是按浏览器实例单独存储cookie。
有人能指出我正确的方向吗?我会发布相关的代码,但到目前为止我只有here的基本示例。
CEF3 revision 2040增加了对分离的浏览器实例(缓存,cookie,localStorage,访问授权等)的支持。首先,确保您拥有最新的CefSharp(更新为CEF3.2526.1347
)。
然后正如您在this example(第135行)中看到的那样,在OnContextInitialized
中初始化浏览器上下文之后,您可以设置cookie存储的路径。 SetStoragePath
的API是:
设置将用于存储cookie数据的目录路径。如果|路径|空数据只会存储在内存中。如果无法访问cookie,则返回false。
因此,您可以尝试使用内存中的cookie,或者为每个实例使用不同的路径。
正如amaitland所说,这不受支持。
要在CefSharp中使用代理,您可以使用此代码,但每个应用程序域只能调用一次Initialize方法。
CefSettings settings = new CefSettings();
if (string.IsNullOrEmpty(proxyAddress) == false)
{
settings.CefCommandLineArgs.Add("proxy-server", proxyAddress);
}
//validate if the CEF instance was already initialized
if (Cef.IsInitialized == false)
Cef.Initialize(settings, true, true);
chromeBrowser = new ChromiumWebBrowser(url);
解决方法可以是在不同的应用程序上使用每个WebBrowser实例,并将其作为新进程调用。
希望这有帮助