Breakpoints in a custom WF designer? Now you can!
Let’s break the Infocard series for a short WF flavoured pause.
After months, I finally managed to handle to Matt the WF sample I made with Iwona for the manufacturing webcast from some time ago. And Matt has been so kind first to demonstrate it in his webcast, then to publish it on windowsworkflow.net!
The idea behind the sample is simple: we crossed the designer HOL with the monitoring HOL, so that you can edit your workflow and see them running in the same environment (we also changed a bit the appearence to be a more familiar experience for VS developers).
Then we wondered how we could push further and add more control on the execution: namely, adding a breakpoint! Some friend from Italy asked for it, and I was really sad at the time not to have a solution to give them. But… I gave the problem to Iwona and she came out with a very nice solution! The idea is implementing a special Tracking Service: if it will run in the same process as the WF runtime, you will have a chance to get an hold of the execution thread in the right moments. Which is pretty much what we do in the sample 🙂
Last point, I hated the idea of having to recompile the entire solution every time I want to try a new activity library… so I added some reflection here and there, but not too much 🙂
Actually, there are TONS of things I would have liked to add: from the F9 for the breakpoint, to a decent activation/deactivation pattern for the toolbar, etc etc… but honestly, that would not have been useful for demonstrating the point but just to satisfy my aesthetic sense. I’m still learning how to be in DPE, my old MCS ways are too rooted 🙂
If you have questions, let me know!