Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Большинство примеров Windows Workflow Foundation (WF) используют рабочие процессы, размещенные в консольном приложении, но это не реалистичный сценарий для реальных рабочих процессов. Рабочие процессы в фактических бизнес-приложениях будут размещаться в постоянных процессах — службе Windows, созданной разработчиком, или серверным приложением, таким как IIS 7.0 или AppFabric. Различия между этими подходами приведены ниже.
Размещение рабочих процессов в IIS с помощью Windows AppFabric
Использование IIS с AppFabric является предпочтительным узлом для рабочих процессов. Хост-приложение для рабочих процессов с использованием AppFabric — это служба активации Windows, которая устраняет зависимость от использования HTTP исключительно через IIS.
Размещение рабочих потоков в одиночку в IIS
Использование IIS 7.0 без других инструментов не рекомендуется, так как существуют средства управления и мониторинга, предоставляемые AppFabric, которые упрощают обслуживание запущенных приложений. Рабочие процессы должны размещаться только в IIS 7.0 только в случае проблем с инфраструктурой при переходе в AppFabric.
Предупреждение
IIS 7.0 периодически перезапускает пулы приложений по различным причинам. При перезапуске пула приложений служба IIS перестает принимать сообщения в старый пул и создает экземпляр нового пула приложений для принятия новых запросов. Если рабочий процесс продолжает работать после отправки ответа, служба IIS 7.0 не будет знать о выполняемой работе и может перезагрузить пул приложений хостинга. В этом случае рабочий процесс завершит работу, и службы отслеживания записывают сообщение 1004 — WorkflowInstanceAborted с пустым полем "Причина".
Если используется постоянство, хост должен явно перезапустить прерванные экземпляры с последней точки постоянства.
Если используется AppFabric, служба управления рабочими процессами в конечном итоге возобновляет рабочий процесс с последней успешной точки сохраняемости, если используется сохраняемость. Если сохраняемость не используется, и рабочий процесс выполняет операции вне шаблона запроса и ответа, данные будут потеряны при прерывании рабочего процесса.
Размещение рабочего процесса в пользовательской службе Windows
Для создания пользовательской службы рабочего потока для размещения и исполнения рабочего процесса разработчику потребуется дублировать множество функций, предоставляемых изначально AppFabric, но это обеспечит большую гибкость при реализации индивидуальных функций. Этот параметр следует учитывать только в том случае, если AppFabric не является вариантом.