Вкратце, приложение ищет в базе данных инструкцию о том, что нужно сделать, выполняет действие и сохраняет информацию об успехе или неудаче этого действия обратно в базу данных. Он выполняет около 40 различных действий, таких как автоматизация приложений Office, копирование файлов, выполнение поиска и т. Д.
Приложение представляет собой единый EXE-файл, поэтому все работает в пространстве процессов основного приложения, и это является основным источником нестабильности, поскольку для выполнения работы ему приходится загружать множество сторонних DLL, и они часто делают что-то сомнительное, что приводит к сбою все приложение.
План: я хочу переместить код, который выполняет опасную тяжелую работу, из VB6 exe во внешние процессы, которые выполняются независимо от основного приложения. Исходное приложение будет обрабатывать только данные из базы данных и инициировать другие процессы, чтобы делать ставки.
Как лучше всего это сделать? Если бы я все еще работал с VB6, думаю, я бы создавал для этого ActiveX EXE, но я не уверен, что такое эквивалент .Net. В идеале приложение VB6 объявляет объект, который создает экземпляр внешнего процесса, и, используя методы параметров набора объектов, выполняет процесс, возможно, получает уведомления о ходе выполнения и, наконец, получает результаты операции.
Как лучше всего это сделать?
Спасибо!!