У нас есть проблема, при которой мы видим, что страницы ASP работают в течение 30–45 минут, даже если значение Server.ScriptTimeout составляет 90 секунд. Мы даже проверили это, напечатав на странице значение Server.ScriptTimeout, чтобы убедиться, что мы каким-то образом не меняем значение.
Мы работаем над тем, что заставляет определенные страницы так долго запускаться в случайном порядке. Но я также пытаюсь определить, как страница ASP может работать дольше, чем значение Server.ScriptTimeout?
Кажется, что время ожидания сценария в какой-то момент перезаписано. Чтобы сузить круг вопросов, что произойдет, если вы попытаетесь запустить длительную задачу на другой свежей странице? Паузу в Classic ASP сделать довольно сложно, но попробуйте для этого WaitFor: http://www.scriptswave.com/free-scripts-download/waitfor/5932.html
Если вы можете подтвердить, что время ожидания сценария соблюдается на параллельной странице, попробуйте скопировать свою действующую страницу и добавьте ожидание вверху и посмотрите, что произойдет ... затем переместите ожидание вниз по коду, пока в конечном итоге он не соблюдает значение времени ожидания сценария.
Это поможет сузить круг вопросов, касается ли это всех страниц на этом сервере или одной страницы. И, если это одна страница, это поможет определить, где на странице начинается изменение значения тайм-аута.
Просто нанести удар в темноте на этом, но если ASP Server.ScriptTimeout
что-то вроде PHP max_execution_time
и ваш сценарий с чрезмерным временем выполнения включает вызовы удаленных служб, есть большая вероятность, что значение вашего тайм-аута не фактор времени, в течение которого ваш процессор простаивает, пока он ожидает вызова другой службы (служб). (в Запись MSDN Server.ScriptTimeout немного скудно в поведении Server.ScriptTimeout в этом случае)
Это может создать проблемы, когда веб-служба неожиданно отвечает (т. Е. Цикл перенаправления), поэтому, если ваш сценарий зависит от удаленных служб, может быть хорошей идеей также отладить вызовы удаленных служб.
Прошло некоторое время с тех пор, как мой классический ASP включен ... Делает то, что вы видите для Server.ScriptTimeout
соответствовать тому, что вы видите в диспетчере IIS для Значение времени ожидания сценария ASP? (при условии IIS6 для этой ссылки)