CreateObject создает COM-объект, поэтому ваш
Set MyApp = CreateObject("Excel.Application")
запускает новый процесс Excel. Используйте GetObject для «получения существующего объекта с указанным ProgID». См. это для теории и практики.
После того, как мое приложение было перенесено из Service Broker в MSMQ, мне пришлось бы проголосовать за использование MSMQ. Есть несколько факторов, которые необходимо учитывать, но большинство из них связано с тем, как вы используете ваши данные и где происходит обработка.
Что нужно учитывать независимо от того, что вы выберете
Я использовал MSMQ прежде и единственный объект, который я добавил бы к Вашему списку, необходимая как условие проверка на управление версиями. Я столкнулся с проблемой, где один сайт имел Сервер Win 2000 и поэтому MSMQ v.2, по сравнению с Сервером Win 2003 и MSMQ v3. Весь мой код.NET предназначался для v.3, и они не совместимы... или по крайней мере не легко так.
Просто соображение, если Вы идете путем MSMQ.
Ограничение размера сообщения в MSMQ остановило мои поиски в этом направлении. Я изучаю Service Broker для проекта.
Вам нужно иметь возможность отправлять сообщения, когда адресат не работает? MSMQ
Не понимаю почему? SSB может отправлять сообщения в отключенное место назначения без каких-либо проблем. Все эти сообщения попадают в очередь на передачу и будут доставлены, когда пункт назначения останется доступным.