!!!Asp.net下服务器端杀死Excel进程的办法??

rocklabzhang 2005-04-09 11:10:39
服务器端生成Excel文件,保存在服务器端,客户端下载。
现在的问题是每次生成后,服务器端的Excel进程杀不死

System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
xlApp = null;
System.GC.Collect(); //强行释放
._Shutdown()
包括用非托管代码杀掉名为Excel.exe的进程(但这样可能会关掉用户正常的Excel文件)
都试过了

另外,在winform中,我用同样的方法可以在不退出主应用程序的情况下杀死excel.exe,只是在asp.net里不知道怎么杀,查了很多资料,没有找到切实可行的办法
不知哪位仁兄成功得解决了这个问题,请支招。那些没有经过实践的想当然的代码,就不要贴了,谢谢
...全文
153 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bravemanman 2005-04-18
  • 打赏
  • 举报
回复
我把我的方法发到你的信箱了
heguosheng 2005-04-18
  • 打赏
  • 举报
回复
收藏
happyjun2000 2005-04-10
  • 打赏
  • 举报
回复
兄弟也遇到了啊
呵呵

下面看到的孟子的代码

using System;
using System.Threading;
using System.Diagnostics;

namespace DataPlatform.DataAccess
{
/// <summary>
/// MyProcess 的摘要说明。
/// </summary>
public class MyProcess
{
public MyProcess()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static void KillProcess( string processName )
{
System.Diagnostics.Process myproc= new System.Diagnostics.Process();
//得到所有打开的进程
try
{
foreach (Process thisproc in Process.GetProcessesByName(processName))
{
if(!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
}
}
catch(Exception Exc)
{
// msg.Text+= "杀死" + processName + "失败!";
}
}

}
}

使用
KillProcess("Excel")
lazybat 2005-04-10
  • 打赏
  • 举报
回复
用GC回收不了的,需要直接杀进程!用Process.Kill 方法。
rocklabzhang 2005-04-10
  • 打赏
  • 举报
回复
自己先顶一个

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧