WF4: служба Workflow перестает принимать новые запросы - PullRequest
0 голосов
/ 14 сентября 2011

Я размещаю небольшой рабочий процесс через класс WorkflowServiceHost .

using (WorkflowServiceHost wfHost = new WorkflowServiceHost(new QueueWorkflow(), new Uri("net.pipe://localhost/workflow")))
{
    wfHost.Open();
    Console.ReadLine();
}

Этот рабочий процесс запускается с помощью входящего вызова WCF (в настоящее время привязка NetPipe) с использованием действия Receive и переходит вПользовательское действие выполняет некоторую работу, а затем создает закладку и бездействует (не выгружается).

В начале все это работало хорошо, однако, когда у меня настроен загрузочный тестер для запуска 1000 рабочих процессов, 928 экземпляров рабочих процессовзапустите и перейдите к созданию их закладки, оставшегося 72 блока либо в WCF, либо в операции получения.

  • Тест всегда останавливается на 928 экземплярах рабочего процесса.(Может быть, ограничение памяти рабочего процесса?)
  • Возобновление одного из рабочих процессов и его запуск до конца позволяет запускать следующий рабочий процесс в списке заблокированных начальных запросов.

Любойидеи высоко ценятся.

1 Ответ

1 голос
/ 22 сентября 2011

Я подозреваю, что serviceThrottling играет здесь роль. Это не только влияет на WCF, но также используется со средой выполнения WF4. Попробуйте изменить настройки, чтобы увидеть, если это имеет значение.

См. здесь для блога, который я написал об этом.

...