今天遇到了一个问题:在Web程序中调用了Excel的COM组件

结果在每次调用一次后,任务管理器都会产生一个EXCEL.EXE的进程

这可以致命的占内存与CPU啊

然后想着去关闭进程或释放资源

先后尝试了两种方法(在操作完Excel后):

1. Process.kill();

2.GC.Collect();

第一种方法,系统抛出异常,提示:拒绝访问

第二种方法,执行后没有任何变化,任务管理器中的EXCEL.EXE进程仍然在

 

然后,进行了Google之旅

查询发现网上大多都是这两种方法

还有说在配置文件中加身份验证的(我没有尝试)

搜索一阵时间后,无果!!

 

然后把上两种方式删除,

尝试把操作Excel的方法里面不用kill,也不释放资源

在调用了操作Excel方法后,比如 bool ret = DoExcel();

紧跟着用GC.Collect();

这样查看一下结果 ---- 惊喜出现了!

释放成功,EXCEL.EXE进程在操作完后自动关闭了。

上情况是我在Win7下面遇到,不知道其它Server系统有没有此情况】

 

祝大家5.1快乐。

相关文章:

  • 2021-09-14
  • 2022-12-23
  • 2021-09-18
  • 2022-02-08
  • 2022-01-19
  • 2021-07-16
猜你喜欢
  • 2022-02-28
  • 2022-01-16
  • 2021-06-24
  • 2022-12-23
  • 2021-12-01
  • 2022-12-23
  • 2021-08-16
相关资源
相似解决方案