如何在IE和.net 2.0 WebBrowser控件之间共享cookie?

时间:2009-10-03 18:15:42

标签: .net internet-explorer browser

我有一个网站,用于销售可下载的.net 2.0 Windows窗体应用程序。我使用Google Analytics来分析网站流量。 .net 2.0应用程序具有嵌入式WebBrowser控件。例如,我使用WebBrowser的一种方法是向客户显示我的网站上可以注册其电子邮件地址的页面。基于我在Vista上使用IE8的实验,似乎在WebBrowser控件和IE8之间不共享cookie。一个似乎验证这一点的简单实验是使用IE登录到Amazon,然后注意WebBrowser控件要求您再次登录。这意味着依赖Cookie的Google Analytics(分析)无法帮助我确定哪些广告会在我的客户端内获取电子邮件地址。换句话说,我无法使用Google Analytics来分析网站和下载的应用程序中的活动。基于其他一些帖子,似乎有些人有相反的问题 - 在IE和WebBrowser控件之间共享cookie。

在IE和WebBrowser控件之间共享cookie的条件是什么? 此行为是否特定于特定版本的IE和.net? 有没有办法强制共享cookie?

到目前为止,我的结论是,如果我真的想使用Google Analytics将网站流量与客户端应用程序中的活动相关联,那么我能做的最好的事情就是让我的客户端应用程序启动完整的Web浏览器,而不是依赖于嵌入式WebBrowser控件。例如,我的程序中可能有一个名为“获取电子邮件更新”的链接,它将IE启动到我网站上的特定页面。

3 个答案:

答案 0 :(得分:1)

Vista +上的IE 7和8默认情况下作为低完整性进程运行。您的WinForms应用程序可能作为中等完整性过程运行。我不认为cookie在完整性级别之间共享。如果您将应用程序作为低完整性流程启动会发生什么?

答案 1 :(得分:1)

我有同样的问题,我在c#中有一个带有webbrowser控件的应用程序,但我无法访问C:\ Users \ Me \ AppData \ Roaming \ Microsoft \ Windows \ Cookies \ Low中的cookie。

我试试这个http://support.microsoft.com/kb/2278183

和谁!我可以访问cookie,但如果我点击一个链接打开一个新的浏览器窗口就没有任何反应:(。

答案 2 :(得分:-1)

我认为需要将您的站点地址添加到受信任的站点并关闭受信任站点的受保护模式。希望它可以帮到你。