The past few weeks I have been updating the WCF activities I published on Codeplex frequently. But the codeplex server my project is hosted on has been out since April 11th! Today I was able to connect to the server again, but the history of the project is not recovered from the crash. They switched me to a new TFS server and there I checked in a new version of the WCF activities that now have been extensively tested and are already used in two projects I am involved in.
We did some extensive load and stress testing on them and I feel very confident in the stability of the code. You can Download them here : http://www.codeplex.com/WCFWorkflow
Features I Added the past weeks are:
· The WCFOutput activity is now using a workflow queue for further execution allowing the wcf call to return to it’s caller before finishing the complete workflow. It now uses a deferred execution mechanism after returning to the caller to finish the workflow until its next idle point. In previous versions you always ended up on waiting for the workflow to go to idle before the output activity returned the call.
· When an exception occurs between a WCFInput and Output activity that terminates the workflow, this gets picked up by the WCFOutput activity and the Exception causing the workflow to terminate is communicated back to the calling party. This feature saves you hours of debugging why your next call to the running workflow fails with the message that it cannot be found in the persistence store. (At least that is what happened to meJ)
· Fixed two race conditions that caused Index out of Range exceptions when running under high Load scenario’s
· Fixed a possible memory leak with void methods implemented in the workflow and running for an extensive amount of time under high load.
I plan on building a release version soon.