Чтобы ответить на ваш первый вопрос, в Windows Server 2003 или 2008 есть такая вещь, как Диспетчер системных ресурсов Windows , или WSRM, которая позволяет распределять системные ресурсы для приложений или процессов. Это входит в состав Enterprise Edition серверной ОС. Просто как распределять ресурсы - это черное искусство; вам придется испытать что-то, тщательно протестировать в самых разных условиях.
На ваш второй вопрос - лучший способ справиться с «тяжелыми операциями» - я думаю, что простой ответ есть это зависит . Есть много разных подходов, и они соответствуют различным требованиям.
MSMQ может быть полезен для буферизации рабочих запросов, чтобы включить обработку в непиковые часы. WSRM может обеспечить распределение и нормирование системных ресурсов. Эти два могут быть взаимодополняющими, или вы можете рассматривать их как альтернативы.
Что касается ASP.NET и Windows Services: ASP.NET, очевидно, будет в первую очередь полезен для запросов на основе браузера, но также, возможно, для запросов в стиле REST (или аналогичных) из других систем. Приложения ASP.NET будут работать под рабочим процессом w3wp.exe, который не поддерживается IIS. Вы получаете все полезные функции управления процессами IIS, такие как периодический перезапуск, автоматический перезапуск устаревших процессов, активация на основе запросов и т. Д.
Службы Windows - это способ создания пользовательских приложений, работающих на вашем Windows Server, которые могут не основываться на запросах. Одним из примеров для вашего сценария может быть служба Windows, которая запускается по расписанию, скажем, в 22:00 каждый вечер, и выполняет все транзакции в очереди, сидящие в MSMQ. Когда очередь пуста или в 4 часа утра, в зависимости от того, что наступит раньше, служба Windows завершает работу. Служба Windows не имеет никаких преимуществ управления процессами IIS.
В итоге, ASP.NET и Windows Services предлагают различные альтернативы для размещения процессов или приложений и управления жизненным циклом.
Это всего лишь общая информация. Чтобы получить более конкретные и конкретные указания от этого сообщества, вам нужно будет сделать более конкретный запрос, чем «как я могу выполнять тяжелую обработку?»