您的位置:首页 > 编程语言 > C#

C#在Web项目中关闭Excel进程的方法

2010-04-30 21:58 447 查看
今天遇到了一个问题:在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快乐。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: