Отладка приложения ASP.NET, размещенного на IIS: прикрепление процесса и выяснение, какой процесс прикрепить - Как прикрепить рабочий процесс
ОГЛАВЛЕНИЕ
Как прикрепить конкретный рабочий процесс, когда выполняется несколько процессов?
Когда произойдет этот сценарий? Если несколько сайтов размещены на IIS, и эти сайты имеют там собственный пул приложений. Теперь несколько пулов приложений означают, что выполняется несколько рабочих процессов.
Мы имеем 3 пула приложений в IIS:
• Стандартный пул приложений
• Обобщенный пул приложений
• Пул приложений сервера состояний
Сейчас SampleWebSite связан с defaultAppPool, и мы хотим прикрепить процесс для отладки SampleWebSite. Выполните такой же шаг для открытия окон прикрепления процесса
Рисунок. Список рабочих процессов
Посмотрите, рабочий процесс сейчас выполняется, и вам надо прикрепить один из них, но вы не знаете, какой рабочий процесс предназначен для стандартного пула приложений. Вы выбрали любой процесс из них, допустим, ID = 4308, и предположим, что это не рабочий процесс для стандартного пула приложений. Что произойдет, если вы прикрепите неверный процесс? Смотрите рисунок ниже.
Рисунок. Процесс не прикрепился правильно
Получение списка выполняющихся рабочих процессов
Ниже даны советы по решению указанной проблемы.
• Пуск > Выполнить > Cmd
• Перейти в Windows > System32
• Выполнить cscript iisapp.vbs и ждать вывода.
Вы получите список выполняющихся рабочих процессов, PID(идентификаторов процессов) и имя пула приложений.
Рисунок. Список выполняющихся рабочих процессов с PID и именем пула приложений
Прикрепление правильного процесса
Отсюда вы можете легко определить имя пула приложений и идентификатор процесса. Снова вернемся в VS > Прикрепить процесс. Теперь вы знаете, что идентификатор процесса для стандартного пула приложений равен 1772, следовательно, Прикрепить процесс.
Рисунок. Прикрепить процесс для отладки
Теперь наслаждайтесь отладкой.
Рисунок. Точка останова готова
Вывод
Иногда приходится отлаживать приложение, размещенное на IIS. Для этого надо прикрепить выполняющийся рабочий процесс к коду Visual Studio. Если на сервере IIS выполняется несколько рабочих процессов, мы можем определить правильный рабочий процесс с помощью команды cscript iisapp.vbs. Надеемся, статья поможет новичкам, испытывающим затруднения с отладкой приложения, размещенного на IIS.