Почему отладка не пускает синхронизацию в IIS7?

Запуск с ответ данный @chaos, но с несколькими модификациями:

  • необходимо всегда использовать ORDER BY, если Вы используете LIMIT. Нет никакого неявного порядка, гарантируемого для таблицы RDBMS. Вы май обычно получает строки в порядке первичного ключа, но Вы не можете полагаться на это, и при этом это не портативно.

  • , Если Вы заказываете в порядке по убыванию, Вы не должны знать количество строк в таблице заранее.

  • необходимо дать имя корреляции (иначе псевдоним таблицы) к полученной таблице.

Вот моя версия запроса:

SELECT `id`
FROM (
    SELECT `id`, `val`
    FROM `big_table`
    ORDER BY `id` DESC
    LIMIT $n
) AS t
WHERE t.`val` = $certain_number;

50
задан ashes999 17 September 2014 в 05:49
поделиться

4 ответа

Ссылка на мертвое изображение

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

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

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

-

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

92
ответ дан 7 November 2019 в 10:45
поделиться

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

Ваш пул приложений -> Расширенные настройки -> Ping Enabled to False

15
ответ дан 7 November 2019 в 10:45
поделиться

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

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

См. эту статью IIS.NET для более подробного обсуждения этой проблемы и снимка экрана.

2
ответ дан 7 November 2019 в 10:45
поделиться

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

0
ответ дан 7 November 2019 в 10:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: