1

我们如何在 dotNetBrowser 控件的多个实例之间共享会话、cookie 和任何其他上下文。

我正在尝试使用 dotNetBrowser 控件实现以下目标。

创建一个windform 应用程序的两个实例。每个实例都将加载相同的 url (test.com/login)。在第一个实例中,提供用户凭据以登录。在第二种情况下,预计同一用户在同一 url 上登录。

所以简而言之,相同的登录用户应该出现在两个实例中,而我们只登录一个实例。test.com/login 不在我的控制范围内,我无法更改网站上的任何内容。

目前我试图能够在同一台计算机上运行两个实例,但最终希望在多台计算机上运行的实例之间共享会话和 cookie。

请分享实现这一目标的正确方向。

4

1 回答 1

2

DotNetBrowser库基于 Chromium 引擎。Chromium 将所有 cookie、缓存和其他数据文件存储在配置文件目录中。在 DotNetBrowser 中,您可以通过BrowserContext类控制应在何处创建配置文件目录。Browser使用同一实例的所有BrowserContext实例将自动共享 cookie、缓存和其他数据。

如果我们谈论Browser在不同计算机上运行的两个实例之间共享 cookie 和会话数据,那么我想我们需要配置这些Browser实例以使用BrowserContext配置为将数据文件存储在两台计算机之间共享的目录中。我没有尝试过,所以我不能保证它有效。

当配置文件目录位于远程计算机上并且两个进程试图同时使用它时,Chromium 引擎本身可能无法处理这种情况。

于 2017-02-04T23:02:12.830 回答