Вы хотели бы реализовать асинхронную задачу.
Прежде всего, прочитайте эту статью:
http://aspalliance.com/1778
Используя асинхронные задачи, вы сможете приостановить и / или возобновить
фоновый поток, и пусть поток обрабатывает загрузку файла
завершение запроса, сохранение слотов в пуле потоков IIS.
Эта функция паузы и возобновления будет достигнута с помощью некоторой логики синхронизации.
Например, вы можете сохранить где-нибудь асинхронную задачу - ранее процесс - идентификатор,
и подготовить некоторый логический флаг, хранящийся в базе данных, файле или любом хранилище
доступны для вас, и на каждой итерации в цикле загрузки проверьте
что у него есть разрешение на продолжение.
Если у него нет этого разрешения, вы можете использовать монитор, мьютекс или
любой другой подход синхронизации потоков, чтобы ждать "импульса" для
продолжить процесс загрузки или убить его.