Я использую два типа процессов в зависимости от потребностей моих БА. Для процессов передачи, которые выполняются по требованию и могут планироваться регулярно, я обычно пишу приложение WinForms (это персональные настройки), которое принимает параметры командной строки, чтобы я мог планировать задание с помощью параметров или запускать его по требованию через интерактивное окно. Я написал достаточно их за последние несколько лет, чтобы у меня была собственная базовая универсальная оболочка, которую я использую для создания новых приложений такого рода. Для процессов, которые должны обнаруживать события (файлы, появляющиеся в папках, получать вызовы CyberMation или обнаруживать ловушки SNMP), я предпочитаю использовать службы Windows, чтобы они всегда были доступны. Это немного сложнее, просто потому, что вы должны быть намного осторожнее с использованием памяти, утечками, утилизацией, безопасностью и т. Д. Для меня приложение Windows имеет тенденцию работать быстрее при выполнении длинных заданий, чем при выполнении процесса IIS. Я не знаю, связано ли это с тем, что он подключен к потоку IIS или его память / безопасность более ограничены. Я никогда не исследовал это.
Я знаю, что .Net-приложения обеспечивают большую гибкость и управление ресурсами, а с некоторыми стандартами и практикой их можно довольно быстро распределить и дать очень положительные результаты.