Доброе утро.
Это странный вопрос, я знаю, но будьте терпеливы со мной, пожалуйста! :-)Поддельный выход на консольное приложение без его закрытия
Сценарий
Несколько лет назад я сделал простой C# консольное приложение (назовем его MyApp, myapp.exe), что делает некоторую работу для большого приложения COBOL (назовем его CblApp).
Это приложение обычно читает некоторые файлы, запрашивает работу (например, вызывает веб-службы и т. Д.) И записывает некоторые выходные файлы.
Взаимодействия с CblApp работает таким образом:
- CblApp называет myapp.exe, например MYAPP.EXE -i: readinputfilefile.xml -w: writeresults.xml
- CblApp самих блоков до тех пор, пока myapp.exe замкнутый (синхронный способ)
- Когда myapp.exe закончена и закрывает сам, CblApp прочитать файлы результатов
является плагин на основе MyApp, а теперь это чудовище с 40 плагинов, регистрация, инетернет проверка соединения и т.д. ..; загрузка его каждый раз с нуля занимает некоторое время, поэтому я создал новую версию, которая работает как одно приложение istance с иконкой в трее.
Приятный, но CblApp не может его использовать: CblApp не может изменить свой способ взаимодействия с myapp.exe.
Вопрос
Теперь вопрос: могу ли я смоделировать CblApp, что myapp.exe закрыт, не сделав этого действительно?
Теперь я написал поддельный myapp.exe, который вызывает одно приложение istance, ждет, пока работа не будет выполнена, чем закрывается, но мне это не нравится.
Надеюсь, что кто-то распустит этот запутанный вопрос. :-)
Спасибо!
Nando
Сделайте myapp.exe удаленным клиентом. Сделайте другое приложение удаленным сервером. – leppie
По мере того, как я читал свои идеи, мы сходились по идее: напишите фальшивый myapp.exe, который вызывает одно приложение istance, ждет, пока работа не будет выполнена, чем закрывается. Но вы говорите, что вам не нравится эта идея, почему? –
Как _clbApp_ связывается с _mayapp.exe_? Какое условие он ищет, чтобы определить, закончилось ли это? – Attila