【发布时间】:2013-08-06 00:24:11
【问题描述】:
我知道这是一个热门话题,有很多问题和答案,但我仍然找不到以下问题的解决方案:
我有一个多标签应用程序。每个选项卡上都有一个 Webbrowser 控件。 由于网络浏览器为每个新选项卡占用更多内存并且它们不会在选项卡关闭时释放此内存,因此我决定在选项卡关闭事件处理程序中创建一个 Webbrowser.Dispose()。这帮助我解决了内存泄漏问题。关闭后,所有使用的 RAM 现在都是空闲的。
但这引起了一个新问题:在第一次 Dispose() 之后,似乎所有其他 Webbrowser 对象的会话都被破坏了。 通常我只登录到第一个网络浏览器。如果我添加几个标签,我通常会自动登录。在第一次 Dispose() 之后,这不再起作用,我必须在每个新选项卡上登录。
我尝试保留旧 cookie 并使用新的网络浏览器再次发送它们,但这并没有解决问题。似乎被摧毁了。
【问题讨论】:
-
我建议你先弄清楚你是否真的有问题。内存使用量是否变得如此之大以至于导致系统分页?是物理内存使用量增加还是仅虚拟内存增加?
标签: c# .net session webbrowser-control dispose