Добрый день.
Мне нужно признать, что это странная работа, но она мне нужна ...: -)
Сегодня существует консольное приложение C # (я назову его App1.exe), которое было вызвано моими коллегами и работает в COBOL. Когда App1.exe завершает свою работу, закрывается, программы COBOL могут продолжить чтение файлов, сгенерированных из App1.
Это приложение 1 открывается и закрывается сто раз в день, и это не так быстро ...
Теперь мне нужно получить бизнес-логику в приложении systray, которое всегда готово, чтобы быстро отвечать на запросы, но я не могу заставить своих коллег изменить свои программы: они будут вызывать App1.exe, ожидая, пока он закроется. Поэтому я создаю один istance App2.exe (я не могу использовать системные службы), который выполняет эту работу; так что теперь я подумал об этом решении: App1.exe просто вызывает App2.exe (передавая аргументы командной строки), затем остается в режиме ожидания (с помощью Process.Start (App2.exe) и Process.WaitForExit ()). Когда App2.exe завершает работу, убивает App1.exe, поэтому программы на COBOL могут обнаружить, что работа выполнена, и продолжить чтение файлов, созданных из App2.exe.
В этом решении (быстрым и грязным способом, я просто пытаюсь ...) есть проблема: App1.exe был вызван App1.exe, поэтому кажется, что вызываемый exe не может убить его родителя, не так ли это?
Есть лучший / рекомендуемый способ сделать такую работу?
Я могу использовать только C # 2.0.
Спасибо, ребята, любая идея приветствуется.
Nando