C# 有没有可能';沙箱';IE在windows窗体中?

C# 有没有可能';沙箱';IE在windows窗体中?,c#,winforms,C#,Winforms,假设我在windows窗体中有一个webbrowsercontrol,用户从窗体登录到一个安全站点。如果用户单独打开IE,也会显示他们已登录。是否可以隔离windows窗体的IE实例?当您登录到站点时,通常会从服务器向您发送一个cookie,该cookie将您标记为“已登录”(非常简单…)。我的猜测是删除cookies。请看这里: 你没有提到你的版本;行为从IE7更改为IE8 在IE7和IE6中,您可以打开多个窗口,并在一个站点上使用不同的用户ID进行身份验证 在IE8中,您的会话状态在浏览器会

假设我在windows窗体中有一个webbrowsercontrol,用户从窗体登录到一个安全站点。如果用户单独打开IE,也会显示他们已登录。是否可以隔离windows窗体的IE实例?

当您登录到站点时,通常会从服务器向您发送一个cookie,该cookie将您标记为“已登录”(非常简单…)。我的猜测是删除cookies。请看这里:


你没有提到你的版本;行为从IE7更改为IE8

在IE7和IE6中,您可以打开多个窗口,并在一个站点上使用不同的用户ID进行身份验证

在IE8中,您的会话状态在浏览器会话中共享


您可以在打开隐私模式的情况下打开IE;这将允许对会话进行沙盒处理。

WebBrowser控件构建在WinInet顶部的WebBrowser ActiveX之上。因此,您应该能够通过WinInet API影响其行为


您可以尝试调用WinInet API来设置结束当前会话并启动新会话的选项。要确保呼叫只影响当前进程,请使用句柄。

IE8具有命令行开关
-nomerge
,它使用新会话启动浏览器。但是如何将WebBrowserControl标记为隐私模式?您能否给出一个如何使用INTERNET句柄的示例?需要确保InternetSetOption不会影响Office。只需在调用InternetSetOption时将INTERNT_HANDLE_TYPE_INTERNET作为第一个参数传递即可。这在使用证书进行SSL客户端身份验证的情况下不起作用。您需要强制INTERNET\u选项\u浏览器\u结束\u会话也删除有关SSL证书的信息