Вы упомянули запуск процесса "по требованию". WAS - Служба активации Windows, или иногда называемая Службой активации процессов Windows, хотя она никогда не сокращается до «WPAS» - это то, что в Windows обеспечивает активацию процессов по требованию. Как это работает - когда приходит сообщение, WAS может запустить рабочий процесс для обработки сообщения. До IIS7 WAS была достаточно тесно интегрирована в IIS. Он использовался главным образом для активации процессов, которые выполняли работу в Интернете - как рабочий процесс ASP.NET. В IIS7 WAS обобщен, так что он может активировать рабочие процессы на основе не HTTP, а также HTTP-сообщений. Если вы пишете свое приложение для получения сообщений через WCF, вы можете получить активацию по существу «бесплатно». Это применимо, если это HTTP, TCP, MSMQ; МЫЛО или иначе.
Ключевым моментом этого запуска по требованию является то, что он связан с коммуникацией. На самом деле модель жизненного цикла процесса для WAS также связана с коммуникацией. По умолчанию, если через некоторое время нет входящих сообщений, процесс будет остановлен WAS. Это может или не может быть то, что вы хотите.
Что касается хостинга процессов - COM + предлагает среду хостинга, но в первую очередь он предназначен для использования в качестве хоста для процессов, которые взаимодействуют. Это не может быть идеально подходит для вас.
Если у вас есть вычислительные механизмы, вы можете просто запустить службу Windows. Подобную службу можно запускать и останавливать как административно, так и программно. В последнем случае вы можете представить себе WAS-активированный рабочий процесс, программно запускающий службу Windows.
Вы можете также представить написание простой службы Windows, которая отслеживает местоположение (файловую систему, очередь сообщений и т. Д.) Для сообщения, и когда этот файл или сообщение приходит, служба Windows запускает процесс вычислительного механизма, который сам по себе НЕ является. Служба Windows, но это просто процесс.
Говоря о MSMQ - это в основном та же модель, что и триггеры MSMQ. Вы можете настроить MSMQ для запуска процесса при поступлении сообщения в определенную очередь.
Есть много вариантов.