运行多个WebBrowsers彼此独立

时间:2013-11-28 07:26:45

标签: .net c#-4.0 webbrowser-control web-controls isolation

我有一个用C#4.0开发的Windows应用程序,我在其中使用多个WebBrowser控件,其中所有WebBrowser加载相同的网站URL并通过在文本框中设置搜索值并单击搜索按钮来执行某种搜索。

所有WebBrowser都应该一次搜索不同的关键字。它们在每个单独运行时都能正常工作,但是当它们一起运行时,它们都在搜索相同的关键字而不是不同的关键字!关键字不是第一个/最后一个的关键字;这是一个随机选择的。我在DocumentCompleted中实现了代码。

我相信网站本身正在识别首先搜索到的关键字之一,并在所有WebBrowser窗口中进行设置。有没有办法隔离和并行运行所有这些WebBrowsers,以便每个“会话”不会影响另一个?

1 个答案:

答案 0 :(得分:1)

WebBrowser控件使用URLMon Windows库,它基于每个进程共享HTTP会话(更多信息here)。因此,WebBrowser控件的所有实例都在同一会话中运行。

据我所知,使WebBrowser成为可能的唯一方法是使用多进程架构,每个WebBrowser都存在于自己的进程中。