Как (предварительно) запустить службу рабочего процесса xamlx

Связанный с этим вопросом.

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

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

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

2 ответа

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

Узнайте, как создать WF4 WorkflowServiceHostFactory для автозапуска AppFabric.

У меня также есть пример, который показывает, как загрузить XAMLX из базы данных с провайдером виртуальных путей в Windows Workflow Foundation (WF4) - Пример репозитория службы Workflow

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

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

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

Другие вопросы по тегам