2010-09-17 6 views
2

Возможно ли создать рабочие процессы динамически? Мне нужно генерировать WF динамически на основе набора бизнес-логики и последовательности выполнения службы, которые я получаю в качестве входных данных для системы. Возможно ли для меня генерировать workflow.xaml динамически без использования wf-конструктора и выполнять в облаке?Возможно ли создать WorkFlow (в Workflow-foundation -4) динамически?

ответ

4

Да - вы можете создать файл xaml с помощью простых подпрограмм ввода/вывода файлов или библиотек манипуляции XML, но лучшим выбором будет использование класса XamlXmlWriter.

После того, как рабочий процесс XAML будет готов, вы можете запустить его с помощью (как замечено в this article)

WorkflowInstance instance = runtime.CreateWorkflow(
     XmlTextReader.Create("..\\..\\WorkflowInXML.xml")); 
instance.Start(); 

Вы также можете загрузить деятельность с XAML в WF4 - проверить это article за то же самое.

+0

спасибо. Это очень полезно для моей работы. – Paba

+0

Пример кода и статья MSDN относятся к WF3 и не имеют никакого отношения к документообороту 4. ActivityXamlServices - это способ перехода в WF4. – Maurice

+0

@Maurice - да, статья датирована, но метод (CreateWorkflow) все еще существует и уместен - вот почему я его процитировал. Следует отметить, что ActivityXamlServices позволяет загружать только дерево действий и не полный рабочий процесс. – VinayC