Обычно не рекомендуется использовать пул потоков в ASP.Net для асинхронных задач.
Обратите внимание, что этот вопрос затрагивается здесь ,хотя я не согласен с ответом.Принятый ответ предполагает, что вам нужна проделанная работа сейчас , когда для асинхронной задачи, описанной в этом вопросе, можно легко выполнить позже.Это позволяет распределять обработку в течение более длительного промежутка времени, что полезно, когда загрузка неравномерна (как большинство веб-страниц).
Нерестовые потоки для каждого запроса также неоптимальны, поскольку простого способа связатьколичество созданных тем.100 порожденных задач будут конкурировать с вашим веб-приложением, пытающимся выполнять работу в режиме реального времени.
Используйте систему обмена сообщениями для управления асинхронными задачами, которые не нужно запускать немедленно.Каждый запрос на обработку отправляется как сообщение, которое ставится в очередь для последующей обработки.После этого вы можете иметь отдельное приложение в локальной системе или, если эти задачи требуют значительной обработки на других компьютерах.Вы также можете легко распределить нагрузку по этим задачам, запустив процессор на нескольких машинах, которые все извлекают из одной очереди.
В прошлом я использовал MSMQ для хорошего эффекта.