Прерывистый AcquireRequestState с ImageResizer

Я сделаю все возможное, чтобы описать то, что я могу. У нас есть сайт mvc (4), который использует EpiServer(9) в качестве CMS. Мы недавно приобрели ImageResizer (4) и интегрировали в него наш проект, и он отлично работал на моей локальной машине. Развертывание в нашей тестовой среде мы заметили периодические длительные задержки при загрузке страниц. Используя New Relic, мы обнаружили, что шаг, который занимал так долго, был шагом AcquireRequestState. Я уверен, что это не достаточно подробно, чтобы отладить проблему, но любая помощь в том, где искать, была бы очень признательна. Суть в том, что с ImageResizer мы получаем задержки, без ImageResizer-нет. Да, мы используем сеансы.

2 ответа

  1. ImageResizer не участвует в этой фазе запроса; он использует только PostAuthorize и PreSendRequestHeaders, оба из которых происходят намного позже.

    Пустой HttpModule с 1 (или без событий) зарегистрирован часто будет в состоянии воспроизвести проблемы, как это.

  2. У нас был тот же вопрос на нашем веб-сайте. New Relic показал нам длительные задержки в AcquireRequestState шаг сделки.
    Мы решили эту проблему, отключив сеанс с атрибутом SessionStateAttribute, добавленным в контроллер, который изменяет размер изображений. Действия контроллера вызываются в JS с Ajax.

    [SessionState(SessionStateBehavior.Disabled)]