“尝试读取或写入受保护的内存”错误处理
2008-12-10 14:04 buru 阅读(637) 评论(0) 收藏 举报最近一个项目是调用浏览器截图的,不断new 一个WebBrowser对象,然后用.net自带的dispose()释放资源。
结果运行程序抛出这个一个错误。
“底层的com组件根据你进程调用组件的次数来控制对象的增加和释放(对象释放会延迟,com自身的问题)。一般是调用强制垃圾回收或ao自带的回收对象的方法,效果不明显。
这种对象不释放的情况,通常出现在应用程序反复调用频率极高的情况下,调用间隔的时间小于对象回收的速度,将报这种错误。通常是自己的程序写的机构不合理,才会产生这种情况。
解决方法是自己在程序里强制释放COM资源,调用Marshal.ReleaseComObject()方法将不再使用的对象释放掉。”
浙公网安备 33010602011771号