早上好。
这是一个奇怪的问题,我知道,但请耐心等待!:-)
场景
几年前,我制作了一个简单的 C# 控制台应用程序(称为 MyApp,myapp.exe),它为大型 COBOL 应用程序(称为 CblApp)做了一些工作。
这个应用程序通常读取一些文件,执行请求的工作(如调用 Web 服务等)并写入一些输出文件。
与 CblApp 的交互以这种方式工作:
- CblApp 调用 myapp.exe,例如 myapp.exe -i:readinputfilefile.xml -w:writeresults.xml
- CblApp 自己阻塞,直到 myapp.exe 关闭(同步方式)
- 当 myapp.exe 完成并自行关闭时,CblApp 读取结果文件
MyApp 是基于插件的,现在它是一个拥有 40 个插件、日志记录、互联网连接检查等的怪物……;每次从头开始加载它需要一段时间,所以我创建了一个新版本,它可以作为一个带有托盘图标的单一应用程序。
很好,但是 CblApp 不能使用它:CblApp 不能改变他与 myapp.exe 交互的方式。
问题
现在的问题是:我可以向 CblApp 模拟 myapp.exe 在没有真正执行的情况下关闭吗?
现在我写了一个假的 myapp.exe 来调用单一的 istance 应用程序,等到工作完成,然后关闭自己,但我不喜欢这个解决方案。
希望有人能理解这个纠结的问题。:-)
谢谢!
南多