今天在开发时遇到一个问题:" 未处理 System.AccessViolationException
                   Message="尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"
      这通常指示其他内存已损坏。不知大家遇到过没有,这种错误是由于用户反复写入或打开文件,

      最终使得内存资源没有及时释放导致此错误。这种错误是无法跟踪的,必须强制释放!

      没有强制的释放方法,底层的com组件根据你进程调用组件的次数来控制对象的增加和释放(对象释放会延迟,

      com自   身的问题)。一般是调用强制垃圾回收或ao自带的回收对象的方法,效果不明显。解决方法如下:

         1.将IIS重新启动。(我是按此方法解决的。)

         2.关闭VS进程,退出VS2005.

         3.上述方法若不行的话,可以自己在程序里强制释放COM资源,调用Marshal.ReleaseComObject()方法将

         不再使用的对象释放掉。具体可参见:http://hi.baidu.com/murphy1314/blog/item/a61bf0996e12850d6e068c3d.html
       

Copyright © 2024 sl2008
Powered by .NET 8.0 on Kubernetes