.net网页采集程序内存越来越大,无法释放
--------------------编程问答-------------------- 用httpwebrequest而不是webbrowser(包括mshtml) --------------------编程问答-------------------- 楼上方法可以试试 --------------------编程问答-------------------- 这个必须得用这种 方法,如果用webrequest返回的都是html+json串,用htmldocument才能返回json排版后的html --------------------编程问答--------------------为什么呢? --------------------编程问答--------------------
webbrowser因为处理编写不完善的js而存在内存泄漏的可能。 --------------------编程问答-------------------- 你的代码有几个问题需要注意:
首先你的lock的使用,基本上你的多线程就废了
其次
while (htmldoc2.readyState != "complete")
continue;
Thread.Sleep(4000);
建议修改为:
while (htmldoc2.readyState != "complete")
{
Thread.Sleep(4000);
} --------------------编程问答--------------------
你开了几百个现成 是不是把内存吃玩了 然后程序G了 另外你用的是线程池吗? --------------------编程问答-------------------- 我也碰到同样问题,不知道如何销毁 --------------------编程问答--------------------
用httpwebrequest而不是webbrowser(包括mshtml)
这个是真理。现在不管wpf,winform还是外在ie,chrom,只要你程序不关,你在切换地址时,内存会一直上涨的。目前还没有办法解决。
而我们网页数据采集,用的是httpwebrequest,而不用webBrowser控件
补充:.NET技术 , .NET Framework