I dont care if it actually works or not, but while having to wrestle with such a crappy designer, it just does not make any sense to me.
Some observations over the last few days…
We have only 1 workflow project, with 8 statemachine workflows with an average of 8 or so states. When I switch from the designer (without even changing anything) to another source file, and I try to type, VS freezes up for over 3 minutes (yes timed). A workflow takes anything from 1 to 3 minutes to open. Every time you save, it freezes for 2-3 minutes. Sometimes you get a COM error, and cant save any unsaved changes, so you have to save frequently.
Trying to modify the workflow by XML does help a bit, but still a lot of freezes.
I cant believe they released such a useless piece of crap*…
* Only the VS designer/project/integration, the rest of WWF runs great and fast, and works like advertised
I have managed to figure out why one of the major slowdowns occur. Due to the designer thinking code changes every second, it recompiles all the dependent assemblies, good so far. But what happens when you have a reference to a medium-sized LINQ2SQL data context with plenty of attributes? Kaboom!
There Microsoft, if you read this, fix the bug, find a better code invalidation routine, and cache some data for God’s sake!
So the trick is to reference NOTHING in your workflow, and this makes workflow almost nice to work with. This has increased the performance of the workflow designer five fold. There are still some freezes, but at least I can live with this for now. 🙂