В ASP.NET Web Api 2 у меня есть класс Singleton, который поддерживает процесс для потоков контроллера для обработки данных. Когда я увеличиваю количество рабочих процессов для пула приложений и засыпаю сервер большим количеством запросов, создается больше экземпляров Singleton и их процессов, но когда нагрузка спадает, процессы продолжают работать в памяти. Я реализовал IDisposable в классе Singleton, и когда я устанавливаю для IdleTimeout значение выше 0, все процессы завершаются. Я хочу сохранить хотя бы один активным, потому что инициализация процесса занимает много времени и будет вызывать задержку первого запроса каждый раз, когда они закрываются и перезапускаются.
Я хочу подогреть приложение до одного рабочего процесса, а затем по мере увеличения нагрузки порождать новые процессы по мере необходимости, но если нагрузка уменьшается, я хочу, чтобы те дополнительные неиспользуемые процессы, которые были созданы в результате загрузки, были завершены, но все же оставались live в случае поступления нескольких запросов, поддерживая разогретое состояние приложения. Может ли IIS сделать это?
Я думаю, что версия IIS - 10, на которой я работаю. Я также использую Windows Server 2016 Standard.