I have a scenario and want to use multiple ReceiveAndSendReply activities running in parallel situation, each of them will be put in an infinite while loop to make sure all activities are always running and listening. So I used a parallel activity to pack all those ReceiveAndSendReply, and each ReceiveAndSendReply was put in a While activity with condition set to true. And of cause, I put some activities with business logic between Receive activity and SendReplyToRecieve activity. Now I have a problem if it takes a long time to process a request in one branch, then during that time all other branches will be blocked. Any request for other Receive activities will not be processed, and both client, which include the one called long time run service and the other one who called other service during server process long time run service process, will also get exceptions. Did anybody have an idea to fix it? Sorry since I am new user, can put post image of my workflow.
相关问题
- WF4 InstancePersistenceCommand interrupted
- Scheduling child activity that implements an inter
- Parent activity type for NativeActivity activities
- Windows Workflow Foundation 4 (WF4) Delay
- WF4 hosting conversion of self hosting console app
相关文章
- Rehosted Microsoft Workflow Designer UI
- Workflow design advice for ASP.Net web application
- Why is the Workflow Designer so extremely slow whe
- Please confirm: Is Windows Workflow Foundation a g
- Using WCF on Localhost on Azure
- How to call an Activity inside another Activity in
- Dependency injection / IoC in Workflow Foundation
- Trace file isn't being created even though Tra
The workflow runtime is single treaded in that a given workflow instance only executes on a single thread at any given moment. So while your workflow is busy doing work it can't react to other incoming messages. Normally this isn't a problem as workflow's normally aren't compute intensive and doing async IO is real easy. One thing that might help is adding Delay activities with a real short timeout. They cause the workflow to pause letting it start processing the next request. Also make sure you put as few activities as you can between the Receive and the SendReply and add a short delay right after the SendReply.