ASP.net использует пул потоков .Net (который настраивается)
Каждый запрос принимается одним из потоков в пуле потоков, пока каждый поток уже не занят. Затем очередь запросов в стеке IIS, до тех пор, пока это также не перетечет. Оттуда новые запросы встречаются с очень уродливым сообщением «Сервер недоступен».
Это обычная многопотоковая история для сайта ASP.net.
Существует много способов обеспечения масштабируемости. Наиболее очевидным является тестирование производительности и устранение узких мест в вашем коде.
ASP.net действительно может использовать преимущества нескольких ядер, используя потоки ввода / вывода для любого запроса ввода / вывода. Это делает код уродливым, но быстрый никогда не был красивым.
Вот окончательный MSDN MAG пост о том, как это сделать
UPDATE
Ну, я, вероятно, пытаюсь ответить на ваш полный вопрос:
"Более важно, есть ли
Преимущество добавления потоков в ASP.Net
код, если поток выполняется выше
в IIS? "
Краткий ответ: это зависит!
Если вы ожидаете долго работающий процесс, то вам лучше было бы внедрить более удобный интерфейс для запрашивающего клиента (т. Е. Внеполосные вызовы AJAX)
если у вас есть несколько независимых задач, которые необходимо выполнить для запрашивающего клиента: тогда вам лучше запустить новый процесс для параллельного выполнения задач.
Если ваш сайт получает много трафика, тогда вам действительно нужно рассмотреть возможность внедрения асинхронных шаблонов, чтобы лучше использовать ваш процессор