Вам необходимо точно диагностировать проблему, прежде чем приступать к реализации решений. Сначала нужно проверить , если это, по сути, перезапуск пула приложений. Вы можете начать с добавления этого раздела в ваш web.config:
<healthMonitoring>
<rules>
<add name="Application Lifetime Events Default"
eventName="Application Lifetime Events"
provider="EventLogProvider"
profile="Default"
minInstances="1"
maxLimit="Infinite"
minInterval="00:01:00"
custom="" />
</rules>
</healthMonitoring>
Он будет записывать событие в журнал событий Windows в любое время, когда asp.net перезапускает себя. Это также даст причину для повторного использования (например, кто-то ткнул web.config и т. Д.). Если - это переработка, то вам нужно выяснить , почему это переработка. Это потому, что IIS настроен на это, несмотря ни на что? Это потому, что ваше приложение неправильно обрабатывает память, а нагрузка на память заставляет asp.net перезагружать себя? На эти вопросы нужно ответить в первую очередь.
Сначала определите, является ли это переработкой, добавив вышеуказанную конфигурацию и почему. Получив ответ, вы можете проверить память и т. Д.