параллельное выполнение замораживает сервис - PullRequest
0 голосов
/ 06 декабря 2011

У меня проблема с пониманием того, как работает Workflow Scheduler, моя архитектура такова: у меня есть несколько операций, которые асинхронно вызывают службу из пользовательского интерфейса, она инициализирует новый WorkflowApplication и вызывает метод Run (), чем требуется некоторое время для выполненияоперация, она проходит через несколько этапов, и чем действие выполняет большую работу

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

Может ли кто-нибудь помочь мне понять это?Есть какой-то способ избежать этого?

1 Ответ

0 голосов
/ 06 декабря 2011

Первое впечатление, что происходит нехватка потоков или что-то похожее с конфликтом других ресурсов.

Используете ли вы WorkflowApplication или WorkflowServiceHost для выполнения вашего рабочего процесса?Я верю первому, но это не совсем понятно в вашем вопросе.

Если вы используете приложение WorkflowApplication: настраиваете ли вы SynchronisationContext и ожидаете ли вы завершения рабочего процесса, прежде чем завершить запрос?

Сколько рабочих процессов вы запускаете и сколько приблизительно ASP.NET запросы там выполняются?

...