我想创建使用WebBrowser控件的多个实例.NET应用程序。 美中不足的是,我想每个Web浏览器控件运行它自己的会话。 IOW,我有一个要求,即会话cookie收集,JavaScript的全局命名空间等是单独为每个实例和所有实例出现在同一窗口内。
据我所知,这将需要我跑在一个单独的进程中的每个Web浏览器控件。
几个问题:
- 被要求我对多个进程假设是正确的?
- 是否有可能使各个web浏览器实例在一个单一的Windows窗体应用程序在一个单独的进程中运行?
提前致谢...
我想创建使用WebBrowser控件的多个实例.NET应用程序。 美中不足的是,我想每个Web浏览器控件运行它自己的会话。 IOW,我有一个要求,即会话cookie收集,JavaScript的全局命名空间等是单独为每个实例和所有实例出现在同一窗口内。
据我所知,这将需要我跑在一个单独的进程中的每个Web浏览器控件。
几个问题:
提前致谢...
目前,还没有,则无法实现这种使用Web浏览器控件没有把每个实例在不同的进程隔离。
你可以在进程中运行外的一个COM服务器的每个控件或应用程序的新实例,如果合适的话。
这是可以做到的,如果你可以访问的主机文件( [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文件,这可能是一个安全问题,以及。