MS Workflow Foundation наследование и время активности - PullRequest
0 голосов
/ 22 мая 2009

У меня два вопроса. 1. Почему класс рабочего процесса является классом SEALED? Это плохая практика для наследования рабочих процессов? 2. Пока активность медленная. IE .: Я положил 3 действия на последовательный WF в этом порядке ... Code_activity1 While_activity Code_activity2 (во время активности)


Code_activity1 - устанавливает значение счетчика int на 33320. While_activity - цикл до счетчика> 0. Code_activity2 - уменьшает счетчик на 1 (counter -);

Теперь проблема в том, что выполнение всего рабочего процесса занимает слишком много времени (около 20 минут) !!!

Если я делаю то же самое вручную с кодом:,

int counter = 33320;
while(counter>0)
    counter--;

Это займет около 1 миллисекунды.

Почему активность пока такая медленная?

Спасибо

1 Ответ

0 голосов
/ 12 июня 2009

1) Даже если сгенерированный класс запечатан как в

public sealed partial class Workflow1: SequentialWorkflowActivity

Ничто не мешает вам удалить запечатанное ключевое слово и унаследовать его. Я полагаю, что вы обычно не хотите наследовать от рабочего процесса, который вы разрабатываете и запечатываете, как говорят, для повышения производительности

2) http://msdn.microsoft.com/en-us/library/ms735819.aspx немного объясняет, как работает активность. Вы добавляете упомянутое creatio дочернего действия 33320 раз, все события, которые запускаются при выполнении / инициализации действия и т. Д., И всю дополнительную работу, которую должна обработать среда выполнения рабочего процесса, и вы получаете свои 20 минут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...