本人在Winfrom下使用WebBrowser网页抓取的程序,开多个线程,程序偶尔会报错,
错误为:system.AccessViolationException
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
报错的地方如下:
while (web.ReadyState < WebBrowserReadyState.Complete)
Application.DoEvents();
,请大家帮忙一下
代码是不能贴太多的,因为这是公司的项目,程序一运行,开启多个线程抓取不同的网页
Thread threadSearch = new Thread(方法);
threadSearch.IsBackground = true;
threadSearch.SetApartmentState(System.Threading.ApartmentState.STA);
threadSearch.Start();
,方法里面是实例一个新的WebBrowser,方法为WebBrowser web=new WebBrowser();
然后工作,但是程序会偶尔报错,有时候一开始就报错,有时候运行几个小时也没有问题,程序对内存占用不多,CPU,也比较稳定,希望大侠指教一下
这种情况一般出现在跨进程内存访问中。你贴的代码太少,无法找到症结。
请问 您的问题解决了吗 我现在遇到问题和您这个是一样的 。