2010-04-07 8 views
0

Связано с this question.Как (pre) начать службу рабочего процесса xamlx

У меня есть служба рабочего процесса xamlx, которая загружает часть своего определения из базы данных при ее запуске (используя ActivityXamlServices.Load). Причина в том, что мне нужно управлять версиями, см. Соответствующий вопрос. Я буду использовать маршрутизацию WCF для прямого вызова нужного сервиса.

Часть, которую я загружаю динамически, содержит операцию Receive. Однако это действие является «невидимым», пока рабочий процесс не запускается, поскольку часть рабочего процесса, загружаемого из базы данных, загружается только при запуске рабочего процесса. Таким образом, извне кажется, что в рабочем процессе нет активности Receive.

Помимо того, что вы не можете создать контракт для службы рабочего процесса, я также не могу позвонить в службу. Моя первая попытка состояла в том, чтобы сделать мыльный звонок с правом контракта на службу рабочего потока. Тем не менее, среда выполнения не активирует мой рабочий процесс в этом случае автоматически. Итак, вопрос в том, как начать рабочий процесс, который размещен внутри IIS?

ответ

1

Существует относительно новый модуль для IIS 7.5, называемый Warmup для приложений. Это настраиваемый инструмент, который позволяет IIS запускать ваше приложение с различной степенью конфигурируемости. Я предлагаю проверить эти две ссылки:

http://www.iis.net/download/ApplicationWarmUp

http://learn.iis.net/page.aspx/688/using-the-iis-application-warm-up-module/

1

Windows Server AppFabric включает в себя функцию Auto Start, которая поможет.

Заканчивать How to create a WF4 WorkflowServiceHostFactory for AppFabric Auto-Start

У меня также есть образец, который показывает, как загрузить XAMLX из базы данных с помощью Virtual Path Provider в Windows Workflow Foundation (WF4) - Workflow Service Repository Example