Обновление 2019-04-24
Проблема TL; DR один вызов контроллера вызывал задержку следующих нескольких вызовов ~ 15 с, прежде чем они даже достигли контроллеров.
Я сузил причину записи большого файла в запросе, которая вызывает дальнейшую задержку File.WriteAllText(htmlFilePath, reportHTML);
Оригинальный пост
Проблема
У меня длительный запрос контроллера для генерации отчета. После того, как отчет сгенерирован, выполняются дополнительные http-запросы для получения результирующих изображений.
Однако вызовы http для изображений занимают около 15 секунд между вызовом ajax в браузере и вызовом действия контроллера. После этого метод работает быстро.
Доказательства пока
Ранее мы использовали WCF для запуска генерации отчетов на отдельном компьютере, и такой задержки не было.
Я попытался запустить оба метода генерации отчетов и извлечения изображений как асинхронные вызовы в своих собственных потоках (но на той же машине). Однако, это все еще имеет задержку.
Задержка также происходит только при первом запросе изображения после генерации отчета. После этого нет задержки.
Также нет состояния сеанса и отключение состояния сеанса не имеет никакого эффекта
Аск
Кто-нибудь знает, что может вызвать эту задержку? Как можно лучше понять блоки в коде ASP.NET или процессах IIS?
Другие детали:
Использование CoreHtmlToImage для генерации отчетов и эмулятора хранения Azure для хранения изображений.
ASP.NET MVC - это версия 5.2.3 (не ядро)