Internet Explorer打开时,Web浏览器控制error handlingCookie

我正在使用WebBrowser控件在C#中构建一个应用程序。 这是加载一个特定的页面(我没有创建),它使用一个弹出窗口和一个cookie来确定搜索到的最后一个“ID”是什么。 这一切都正常,除非Internet Explorer在后台打开。 当Internet Explorer在后台打开时,弹出窗口仅转到设置的第一个ID。 当IE打开时,似乎没有正确存储cookie。

分解:

  • 用户打开Internet Explorer。
  • 用户打开我的应用程序
  • 用户在页面上搜索XXX。
  • 用户单击弹出窗口。 弹出窗口显示正确的信息。
  • 用户在父页面上搜索XXY。
  • 用户单击弹出窗口。 弹出窗口显示以前的信息(不正确)。

正如我所说,当Internet Explorer未打开时,这可以正常工作。

有谁知道可能导致这种情况或如何预防? 也许Internet Explorer“锁定”其cookie?

正如我经常做的那样,我在写这个问题时发现了这个问题。 这恰好是安装IE8时特定于WebBrowser控件的缓存问题。

该线程建议在导航之前清除URL的缓存。 使用以下代码:

using System.Runtime.InteropServices; ... [DllImport("wininet.dll", SetLastError = true)] private static extern long DeleteUrlCacheEntry(string lpszUrlName); 

然后你可以使用

 DeleteURLCacheEntry(pdfURL); webBrowser.Navigate(pdfURL);