Динамическое создание рабочего процесса WWF с использованием XAML + X: имя не работает - PullRequest
1 голос
/ 05 мая 2011

Я создаю пользовательские действия рабочего процесса, эти действия имеют базовый класс, как показано ниже

public class BaseClass : SequenceActivity
{ }

public class Activity1 : BaseClass
{ }

public class Activity2 : BaseClass
{ }

Затем я пишу xoml рабочего процесса, как показано ниже

<GS1:Activity1 x:Name="Activity2"></GS1:Activity1>
<GS1:Activity2 x:Name="Activity3"></GS1:Activity2>

все работает нормально, пока я не хочу запустить рабочий процесс

workflowRuntime.CreateWorkflow(Type.GetType("WorkflowType Full Name"), null, Guid.NewGuid());

Я получаю ошибку ниже

error 1538: Activity 'BaseClass' validation failed: There is already an activity named 'BaseClass'. Activity names must be unique.

Обратите внимание, что вышеописанное работало корректно на WF3.5, эта ошибка появилась при обновлении до WF4.0.

Любая помощь очень ценится.

1 Ответ

1 голос
/ 05 мая 2011

Похоже, вы комбинируете здесь классы WF3 и WF4. Это немного сбивает с толку, потому что они похожи и оба имеют класс Activity, но нет никакой связи. WorkflowRuntime - это тип WF3. С WF4 вы можете использовать WorkflowApplication или WorkflowInvoker для запуска рабочего процесса.

...