Урок 5. Возобновление приостановленного рабочего процесса в AppFabric
Цель: остановка и перезапуск сбойного рабочего процесса.
Назначение: понять, как Windows Server AppFabric сохраняет бездействующие или приостановленные экземпляры, и как восстановить приостановленный рабочий процесс.
Предварительные условия
Необходимо развернуть приложение HRApplicationServices. Дополнительные сведения см. в разделе Урок 2. Развертывание службы рабочих процессов HRApplicationServices.
Следует включить наблюдение и сохраняемость. Дополнительные сведения см. в разделе Урок 3. Настройка приложения HRApplicationServices.
Имитация приостановленного рабочего процесса
Чтобы увидеть AppFabric в действии, потребуется имитировать нарушение в работе процесса. Если происходит ошибка, рабочий процесс приостанавливается. Для имитации мы временно "нарушим" работу приложения HRApplicationServices, переименовав папку \mailbox в \mailbox2.
Прерывание рабочего процесса HRApplicationServices
Перейдите в корень жесткого диска системы.
Переименуйте почтовую папку из \mailbox в \mailbox2
В Internet Explorer введите или вставьте следующий URL-адрес приложения:
https://localhost/HRApplicationServices
В форме заявки укажите образование как Masters (Магистр).
Нажмите кнопку Apply (Отправить).
В проводнике откройте папку mailbox2. Обратите внимание, что файл сообщения не создан.
Просмотр и восстановление приостановленного рабочего процесса
Теперь, когда ход рабочего процесса нарушен, AppFabric материализует приостановленный рабочий процесс. После исправления приложения процесс можно восстановить.
Просмотр приостановленного рабочего процесса
Откройте диспетчер IIS.
В окне Подключения перейдите к узлу HRApplicationServices. Щелкните узел, чтобы его выбрать.
Дважды щелкните Панель мониторинга AppFabric.
В группе Материализованные экземпляры WF имеется один приостановленный экземпляр. Обратите внимание, что не указаны исключения службы или пользовательские ошибки. Причина в том, что пример приложения не порождает ошибку, перехватываемую клиентом. Поскольку ход рабочего процесса все же нарушен, AppFabric материализует приостановленный рабочий процесс.
В группе Материализованные экземпляры WF дважды щелкните приостановленный экземпляр SubmitApplication.xamlx. Материализованный экземпляр отображается в списке с состоянием Приостановлен.
Щелкните правой кнопкой мыши приостановленный экземпляр, а затем выберите команду Просмотр отслеживаемых событий. (Другие варианты — продолжить, отменить, завершить или удалить.)
В списке отслеживаемых событий щелкните событие со значком Error. В расположенном ниже разделе Подробно приведены сведения о выбранной ошибке.
Перейдите на вкладку Ошибки.
Обратите внимание на текст исключения. В нем имеются следующие сведения:
System.Net.Mail.SmtpException: Сбой при отправке сообщения электронной почты. ---> System.IO.DirectoryNotFoundException: Не удалось найти часть пути "c:\mailbox
В этом сценарии таких сведений достаточно для устранения ошибки в приложении. AppFabric фиксирует текст исключения для анализа.
Откройте проводник и переименуйте папку из \mailbox2 в \mailbox.
Вернитесь к панели мониторинга AppFabric.
Щелкните панель правой кнопкой мыши и выберите пункт Панель мониторинга AppFabric.
В группе Материализованные экземпляры WF дважды щелкните приостановленный экземпляр SubmitApplication.xamlx.
Щелкните приостановленный экземпляр правой кнопкой мыши и выберите команду Продолжить.
Через несколько секунд снова щелкните его правой кнопкой мыши и выберите в контекстном меню команду Обновить.
В проводнике откройте папку mailbox. Обратите внимание, что теперь в ней появился новый файл.
Дважды щелкните его, чтобы открыть, и щелкните ссылку Review the application. (Если у вас нет почтовой программы, откройте сообщение в Блокноте и вставьте URL-адрес в браузер для просмотра сообщения. URL-адрес аналогичен следующему:
https://localhost/HRApplicationServices/HireApproval.aspx?AppID=23
Обратите внимание, чтоAppID
равняется идентификатору соискателя.)На странице HTML нажмите кнопку Hire (Принять), чтобы утвердить заявку. Откройте папку mailbox и обратите внимание на итоговый файл сообщения. Открыв его, можно видеть приятное известие.
Вернитесь к панели мониторинга AppFabric.
Правой кнопкой мыши щелкните панель мониторинга и выберите команду Обновить. Панель обновится, и бездействующий экземпляр исчезнет из столбца Активные или бездействующие экземпляры.
Чтобы было сделано?
Было имитировано нарушение, приводящее к приостановке рабочего процесса. После исправления приложения процесс был возобновлен через панель мониторинга.
См. также
Основные понятия
Урок 1. Приступая к работе
Урок 2. Развертывание службы рабочих процессов HRApplicationServices
Урок 3. Настройка приложения HRApplicationServices
Урок 4. Наблюдение за работоспособностью приложения HRApplicationServices
2011-12-05