多WebBrower会话/进程在一个窗口(Multiple WebBrower sessions /

2019-06-24 06:41发布

我想创建使用WebBrowser控件的多个实例.NET应用程序。 美中不足的是,我想每个Web浏览器控件运行它自己的会话。 IOW,我有一个要求,即会话cookie收集,JavaScript的全局命名空间等是单独为每个实例和所有实例出现在同一窗口内。

据我所知,这将需要我跑在一个单独的进程中的每个Web浏览器控件。

几个问题:

  1. 被要求我对多个进程假设是正确的?
  2. 是否有可能使各个web浏览器实例在一个单一的Windows窗体应用程序在一个单独的进程中运行?

提前致谢...

Answer 1:

目前,还没有,则无法实现这种使用Web浏览器控件没有把每个实例在不同的进程隔离。

你可以在进程中运行外的一个COM服务器的每个控件或应用程序的新实例,如果合适的话。



Answer 2:

这是可以做到的,如果你可以访问的主机文件( [Windows]/system32/drivers/etc/hosts )。

只要把这样的事情到主机文件:

127.0.0.1 web1
127.0.0.1 web2
127.0.0.2 web3
...

(与你的服务器IP更换IP地址),然后你可以点web浏览器的你的多个实例如http://web1/..等web浏览器的每个实例将运行一个单独的会话。 它工作正常。 缺点是,你需要(programmaticaly)管理hosts文件,这可能是一个安全问题,以及。



文章来源: Multiple WebBrower sessions / processes in one window