Почему отладка задерживается в IIS7? - PullRequest
50 голосов
/ 14 сентября 2009

Когда я отлаживаю на своем компьютере с Windows 7 IIS7, я получаю эту ошибку во время отладки:

Процесс веб-сервера, который был отладка была прекращена IIS. этого можно избежать путем настройки настройка пула приложений в IIS. увидеть помощь для получения дополнительной информации.

Что я делаю не так?

Ответы [ 4 ]

92 голосов
/ 19 сентября 2009

Когда вы отлаживаете, IIS не будет обслуживать любые другие запросы, пока вы не закончили пошаговое выполнение кода. Это включает в себя запрос «ping», который IIS отправляет сам себе. Поскольку IIS не получает ответ от самого себя, он решает отключиться, что быстро прекращает вашу отладку.

Решение состоит в том, чтобы увеличить Ping Maximum Response Time в настройках пула приложений со значения по умолчанию, равного 90 секундам. Установите достаточно высокое значение, которое даст вам достаточно времени для отладки кода (например, 300 секунд).

У Microsoft длинная запись здесь , или вы можете просто посмотреть на красивую картинку.

-

Редактировать: Другие предложили установить для параметра «Ping Enabled» значение false. Есть несколько причин, по которым я предпочитаю держать его на месте, только с большим интервалом, но наиболее важным является то, что у вас (скорее всего) будет включен рабочий пинг обработки, а вы должны стремиться к разработке и отладке в конфигурации это как можно ближе к производству. Если вы не включили ping на производстве, то обязательно отключите его также и локально.

15 голосов
/ 17 сентября 2009

http://weblogs.asp.net/soever/archive/2009/06/18/debugging-sharepoint-asp-net-code-smart-key-codes-disable-timeout.aspx

Ваш пул приложений -> Расширенные настройки -> Пинг включен False

2 голосов
/ 17 сентября 2009

IIS имеет функцию проверки работоспособности, которая периодически проверяет, завис ли рабочий процесс IIS или иным образом не используется. Если рабочий процесс останавливается в отладчике, он выглядит нездоровым с точки зрения IIS, и IIS убивает его и запускает новый процесс.

Чтобы изменить это поведение (на рабочей станции разработчика - не хотите отключать это в рабочей среде!), Перейдите в инструмент управления IIS, выберите узел «Пулы приложений» на левой панели и щелкните правой кнопкой мыши пул приложений. в котором живет ваше приложение, и выберите «Расширенные настройки». Оттуда, в разделе «Модель процесса», установите «Ping Enabled» в False. Вы также можете установить время простоя на очень большое число.

См. в этой статье IIS.NET для более подробного обсуждения этой проблемы и снимка экрана. См. в этой статье TechNet , чтобы узнать, как установить эти параметры с помощью кода / сценария вне инструмента администратора.

0 голосов
/ 22 сентября 2009

Если у вас запущена и сконфигурирована scom от Microsoft, где вы работаете (при условии, что это не интересный проект), и вы можете создать для него пакет управления или знаете кого-то, кто может помочь вам точно определить причину проблема. Я понимаю, что это длинный путь, но если это действительно описывает ваш сценарий, я бы поступил так, если бы не было найдено никакого другого решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...