2011-06-02 2 views
0

У меня есть конечный автомат Worklow как служба WCF. И рабочий процесс вызывается в коде ASP.NET. Я использовал netTcpContextBinding для хостинга рабочего процесса. Проблема заключается в том, что если операция SendRecieve в рамках рабочего процесса занимает много времени (скажем, 1 минута) для выполнения, то она будет отображать прерывание транзакции и прекратится .. Я уже установил значения привязки для отправки, получения, открытия, закрыть таймауты до максимальных значений в web.config и app.config.Окно Workflow SendReceive Время ожидания таймаута

Как я могу решить эту проблему?

ответ

0

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

Смежные вопросы