Почему среда выполнения рабочего процесса Windows создает два экземпляра моего рабочего процесса? - PullRequest
0 голосов
/ 02 января 2012

Во время отладки рабочего кода - я заметил, что мой конструктор рабочего процесса запускался несколько раз. Я не хотел обвинять WWF в этом из-за философии - «проверь свой код, прежде чем обвинять других». Я создал пример приложения для проверки этого аспекта и обнаружил, что создаются два экземпляра worklow. В идеале должен быть создан только один экземпляр. Любопытно понять - почему среда выполнения WWF создает два экземпляра?

Список кодов:

public partial class TestWorkflow : SequentialWorkflowActivity
{
    public TestWorkflow()
    {
        InitializeComponent();
        countOfInstances++;
    }

    protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
    {
        Console.WriteLine("Instances Created = {0}", countOfInstances);
        return base.Execute(executionContext);
    }

    private static int countOfInstances = 0;
}

Спасибо.

1 Ответ

1 голос
/ 04 января 2012

WF3 во многих случаях клонировал действия для выполнения работы.Возможно, именно поэтому это происходит.WF4 не делает это одним из многих улучшений и оптимизаций производительности в WF4.

...