Подтвердить что ты не робот

Отладка ASP.NET с использованием IIS

Наконец-то сломался и, обратившись за помощью, мой клиент /iis (не уверенный, который) обычно истекает через 30 секунд - 1 минута, в то время как им отлаживается (перешагивает код), что не только заставляет меня потерять свое место и начать (обычно ускоряется, делая больше ошибок), но сеанс отладки IIS полностью закрывается, и я снова должен разогревать весь сеанс.

Какой лучший способ получить больше времени от сеанса отладки?

Отладка vanilla 3.5 Веб Сайт (не приложение) в IIS 7.5 Classic Pipeline

4b9b3361

Ответ 1

Установка ограничения соединения работает, если вы установите его достаточно высоким. Я хотел больше никогда не беспокоиться об этом. Здесь то, что я сделал:

Предполагается, что у вас есть пул приложений IIS, выбранный в диспетчере IIS

... В диалоговом окне "Дополнительные параметры" найдите раздел "Модель процесса" и выполните одно из следующих действий:

  • Установите Ping Enabled равным False.
  • Установите максимальное время отклика Ping на значение, превышающее 90 секунд.

Настройка Ping Enabled для False останавливает IIS от проверки работоспособности рабочего процесса и поддержания работоспособного процесса до тех пор, пока вы не прекратите свой отладочный процесс. Установка максимального времени отклика Ping на большое значение позволяет IIS продолжать мониторинг рабочего процесса.

Ответ 2

Вместо того, чтобы изменять настройки пула приложений в IIS, вы должны временно изменить атрибут executeTimeout httpRuntime в файле web.config. Значение по умолчанию - 110 секунд, на которое обычно приходится много времени, но нет, если вы отлаживаете. Увеличение таймаута позволит запросам сервера работать дольше.

<system.web>
   <httpRuntime executionTimeout="360" />
</system.web>

Это устанавливает значение 6 минут (360 секунд).

После завершения отладки вы можете удалить атрибут, и IIS вернется к умолчанию.

Ответ 3

Обратите внимание, что если вы используете ScriptManager (например, панели обновления), он использует его собственный тайм-аут, устанавливаемый:

<asp:ScriptManager ID="ScriptManager1" AsyncPostBackTimeout="???" ...
</asp:ScriptManager>

Я рекомендую вам установить его с высоким значением только при отладке. Вы можете сделать это в событии pageload на странице, где существует элемент управления scriptmanager:

If Debugger.IsAttached Then
    ScriptManager1.AsyncPostBackTimeout = 600
End If