我们如何在多个dotNetBrowser控件实例之间共享会话,cookie和任何其他上下文。
我正在尝试使用dotNetBrowser控件实现以下功能。
创建windform应用程序的两个实例。 每个实例都将加载相同的URL(test.com/login)。 在第一个实例中,提供用户凭证以进行登录。 在第二个实例中,期望同一用户登录到同一URL。
因此,简而言之,当我们仅登录一个实例时,同一登录用户应该出现在两个实例中。 test.com/login不在我的控制范围内,我无法在网站上进行任何更改。
目前我正试图在同一台计算机上运行两个实例,但最终希望在多台计算机上运行的实例之间共享会话和cookie。
请分享实现这一目标的正确方向。
答案 0 :(得分:2)
DotNetBrowser库基于Chromium引擎。 Chromium将所有cookie,缓存和其他数据文件存储在配置文件目录中。在DotNetBrowser中,您可以通过BrowserContext类控制应在何处创建配置文件目录。使用相同Browser
实例的所有BrowserContext
实例将自动共享Cookie,缓存和其他数据。
如果我们谈论在不同计算机上运行的两个Browser
实例之间共享cookie和会话数据,那么我想我们需要配置这些Browser
实例以使用已配置的BrowserContext
将数据文件存储在两台计算机之间共享的目录中。我没试过,所以我不能保证它有效。
当配置文件目录位于远程计算机上并且两个进程同时尝试使用它时,Chromium引擎本身可能无法处理这种情况。