正在调用进程,没有等待进程结束



我有一个winforms程序,它监视文件夹中保存的新文本文件。当它找到文件时,它读取它,将数据写入SQL表,进行一些更新,然后调用另一个程序使用Crystal Reports 2021打印报告。

然后等待下一个文件。

这是一个复制的代码

'System.Diagnostics.Process LOProc = new System.Diagnostics.Process();
LOProc.StartInfo.FileName = PSParmServicePGM;
LOProc.StartInfo.Arguments = PSGUID;
LOProc.Start();'

大约一周后,服务器变得无响应,我假设这是一个内存问题。如果我退出并重新登录并启动我的程序,它又工作了一周,那么我必须重新做同样的事情。

我运行了processmon,我没有看到第二个程序卡住。

但是我看到splwow64.exe正在增长。第二个程序直接打印到联网的打印服务器。打印机未安装在运行打印作业的服务器上。

调用第二个程序而不占用调用程序等待第二个程序完成的正确方法是什么?

确保您的Crystal Reports进程关闭并正确处置报告对象。

最新更新