Отладка приложения ASP.NET, размещенного на IIS: прикрепление процесса и выяснение, какой процесс прикрепить - Пул приложений
ОГЛАВЛЕНИЕ
Пул приложений
Это одна из самых важных вещей, которую вы должны создать для вашего собственного приложения в среде Производства. Пулы приложений служат для выделения групп рабочих процессов IIS, имеющих одинаковую конфигурацию. Пулы приложений позволяют изолировать веб-приложение ради лучшей защиты, надежности и работоспособности. Рабочий процесс служит в качестве границы процессов, отделяющей каждый пул приложений, чтобы сбой или перезапуск одного рабочего процесса или приложения не влиял на другие приложения или рабочие процессы.
Стандартный пул приложений
Имя стандартного приложения IIS 6.0 - "DefaultAppPool". После размещения сайта на IIS при проверке свойств Виртуальной директории вы сможете увидеть, что:
1. Start(пуск) – Run(выполнить) - Inetmgr
2. Развернуть "DefaultWebSites" или Другие веб-сайты, где вы создали Виртуальную директорию
3. Щелкнуть правой кнопкой мыши по Виртуальная директория
4. Щелкнуть по Свойства
Появится следующий экран. Сейчас свойства виртуальной директории показывают имя пула приложений, назначенного выбранному сайту.
Чтобы проверить список всех пулов приложений в IIS, разверните Узел пула приложений на сервере IIS.
Рисунок. Стандартный пул приложений
Теперь все до единого пулы приложений должны иметь минимум один рабочий процесс, следящий за работой сайта, связанного с пулом приложений. Щелкните правой кнопкой мыши по пулу приложений – перейдите во вкладку производительности, проверьте нижнюю часть вкладки, там есть раздел сетевого сада, и по умолчанию рабочий процесс равен 1. Пул приложений, содержащий более одного рабочего процесса, называется Web Garden(сетевой сад).
Создание и назначение пула приложений
Откройте консоль IIS, щелкните правой кнопкой мыши по папке пула приложений > Создать New(новый)
Введите Идентификатор пула приложений и нажмите Ok.
Теперь щелкните правой кнопкой мыши по Виртуальной директории и назначьте только что созданное приложение этой Виртуальной директории.
Итак, эти веб-сайты будут запускаться независимо в StateServerAppPool. Следовательно, любая проблема, связанная с другим приложением, не влияет на ваше приложение. Это основные преимущества создания пула приложений отдельно.
Как начать?
Все сказанное до сих пор уже дает вам хорошее представление о рабочем процессе и пуле приложений. Вы должны понять их, прежде чем начинать следующую часть. Теперь покажем способ отладки сайта, размещенного на сервере IIS.
Был создан один веб-сайт под именем sampleWebSite и размещен на локальном IIS. Ниже показан вывод страницы по умолчанию.
Рисунок. Пример веб-сайта
Какой процесс прикрепить?
Как уже было сказано, имя процесса - w3wp.exe, следовательно, можно проверить его из менеджера задач, выполняется рабочий процесс или нет
Рисунок. Менеджер задач показывает выполняющийся процесс
Теперь прикрепим процесс. Перейдите в Отладка > Прикрепиться к процессу
Рисунок. Открыть окно прикрепления процесса
После нажатия на Прикрепиться к процессу появится следующий экран,
Рисунок. Выполняется один рабочий процесс
Теперь видно, что выполняется тот же самый рабочий процесс. Надо прикрепить этот процесс. Выберите «Процесс» и нажмите кнопку «Прикрепить». После проверки двух рисунков ниже
Рисунок: 1) Процесс успешно прикреплен 2) Процесс не прикреплен
Заметили ли вы знак точки останова? Если рабочий процесс прикрепился успешно, знак точки останова выполнения кода должен быть четким, в противном случае он должен иметь предупреждающую иконку. Для одного рабочего процесса сценарий не свойствен. Но если на IIS выполняется несколько рабочих процессов, возникает беспорядок. Это рассмотрено в следующем разделе.
Теперь при нажатии на кнопку отладки веб-страницы выполнение кода остановится в точке останова.
Теперь рассмотрим случай, когда выполняется несколько рабочих процессов