How do you manage versions of workflows in WF when you have long running workflows and you might have two or three versions in the persistence store at the same time and have to be able to access them all?
+3
A:
I did a series of 4 blog post covering most of the stuff you need to be aware of when versioning long running workflows.
One thing I tend to avoid is using the HandleExternalEventActivity as this greatly complicates things. For that matter I tend to stick to simple types and xml serialized objects.
- http://msmvps.com/blogs/theproblemsolver/archive/2008/09/10/versioning-long-running-workfows.aspx
- http://msmvps.com/blogs/theproblemsolver/archive/2008/09/11/versioning-long-running-workflows-part-2.aspx
- http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx
- http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx
Maurice
2009-09-03 19:11:25
Thanks for the links. I've just read them all - is the last one supposed to be just a lot of comments? I searched through for 'Workflow' and found a few that were interesting. I'm thinking of hosting using WCF so I guess I'll be dealing with the ReceiveActivity. Are you aware of any versioning issues that apply particularly to WCF and ReceiveActivity?
ssg31415926
2009-09-04 08:38:38
Part 4 is not supposed to be comments, not sure what happened there. I hope I can get the content back.Regarding WCF/WF. WCF has its own versioning story but this is completely unrelated from the WF story. WF still uses the binary serializer which is version depended so you need to make sure all types passed to to the workflow are the correct version.
Maurice
2009-09-04 13:00:30
I'll have to make sure I include the whole WCF thing in my version testing, then. I look forward to reading part 4 when you get it back.
ssg31415926
2009-09-04 13:38:26
I found part 4 again. Somehow the URL got mixed up.
Maurice
2009-09-07 09:28:30