Простые файлы очереди вместе с отдельным агентом. Для каждого типа внешнего процесса напишите отдельный агент .exe, который просматривает каталог для файлов очереди, которые содержат все данные, необходимые для выполнения указанного процесса.
Это может показаться грязным, но в реальном мире я считаю, что это дает большую гибкость, вы не выполняете много обработки в пространстве процессов ASP.net, и вы могли бы легко адаптировать этот стиль для обработки фермы для дешевого Linux серверы, на которых агент работает в Mono, когда вам требуется больше оперативной памяти / процессора / диска.