什么是最好的管理多用户个人资料?
我发现创建一个新的RequestContextSettings并将其保存到特定文件夹中是一种可能的方法: CefSharp Wpf , Session Cookie for multiple instances 但是,这意味着要在CEFSettings初始化之前进行此操作。
因此,也许我必须在更改用户个人资料之前关闭CEF。 但是,如何在一次应用程序会话中以干净的方式多次对其进行管理? 我也读过Cef.Shutdown方法仅启动一次 https://cefsharp.github.io/api/51.0.0/html/M_CefSharp_Cef_Shutdown.htm
所以,我的问题是:在当前会话中,
的方式是什么?RequestContextSettings lRCS = new RequestContextSettings();
requestContextSettings.CachePath = "another user";
myBrowser.RequestContext = new RequestContext(lRCS);
没有收到错误消息,说“创建基础CEF浏览器之前必须设置RequestContext。”
非常感谢您的帮助。
@amaitland 非常感谢您的帮助。这段代码摘自Request Context (Browser Isolation)
var requestContextSettings = new RequestContextSettings { CachePath = cachePath2};
browser= new ChromiumWebBrowser("mysite.com");
browser.RequestContext = new RequestContext(requestContextSettings, new CustomRequestContextHandler());
并引发2个错误:
代码Erreur CS1503参数1:无法将'CefSharp.RequestContextSettings'转换为'CefSharp.IRequestContext'
找不到代码Erreur CS0246类型'CustomRequestContextHandler'。 (是否缺少使用指令或汇编指令?)。
但是,如果我修改了最后一行,只需调用一个参数
browser.RequestContext = new RequestContext(requestContextSettings);
我可以运行某些程序,然后在cachePath2中获取缓存数据。但是,如果我这样做,屏幕将保持白色
browser.CloseDevTools();
browser.Dispose();
var requestContextSettings = new RequestContextSettings { CachePath = cachePath2};
browser= new ChromiumWebBrowser("mysite.com");
browser.RequestContext = new RequestContext(requestContextSettings);
或者,如果不添加CloseDEvTools + Dispose,浏览器将停留在与user1共享的上一页中。
所以我想CustomRequestContextHandler
是更新浏览器而不冻结它的重要参数。
但是我找不到如何获得完整的程序集引用。
我使用VS2017,Winforms和Nuget软件包71.0.2。
cef.redist.x86“ version =” 3.3578.1870“ targetFramework =” net461“
再次发送电子邮件以寻求帮助。