【发布时间】:2011-02-10 16:14:06
【问题描述】:
下午好。
我需要承认这是一项奇怪的工作,但我需要它...... :-)
今天有一个 C# 控制台应用程序(我将其命名为 App1.exe)由我的同事调用,在 COBOL 中工作。当 App1.exe 完成其工作并自行关闭时,COBOL 程序可以继续读取从 App1 生成的文件。
这个App1一天开关百次,没那么快…… 现在我需要在系统托盘应用程序中获取业务逻辑,随时准备好快速响应请求,但我不能强迫我的同事更改他们的程序:他们会调用 App1.exe,等待它关闭。所以我创建了一个单独的 App2.exe(我不能使用系统服务)来完成这项工作;所以现在我想到了这个解决方案:App1.exe 只是调用 App2.exe(传递命令行参数),然后它保持待机状态(使用 Process.Start(App2.exe) 和 Process.WaitForExit())。当 App2.exe 完成工作时,会杀死 App1.exe,因此 COBOL 程序可以检测到工作已完成并继续读取从 App2.exe 生成的文件。
在这个解决方案中(快速而肮脏的方式,我只是在尝试......)有一个问题:App1.exe 调用了 App2.exe,所以看起来被调用的 exe 无法杀死他的父级,不是是吗?
有更好的/推荐的方法来做这种工作吗? 我只能使用 C# 2.0。
谢谢大家,欢迎提出任何想法。
南多
【问题讨论】:
-
能否请您粘贴来自应用程序 1 和应用程序 2 的相关代码(即进程启动和终止逻辑)?