Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Большинство примеров 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 не является вариантом.