<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx</link><description>Part 1 Part 2 Part 3 Part 4 In the previous blog posts we made sure we could have multiple versions of the same workflow running side by side. This ability is one of the more powerful concepts of WF and a real must have for long running business applications</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1693879</link><pubDate>Thu, 04 Jun 2009 14:51:22 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1693879</guid><dc:creator>ObeseCoder</dc:creator><description>&lt;p&gt;I really enjoyed the series.. this is exactly the information I was looking for . we are doing a timesheet web application, using windows workflow for the approvals and such . thanks again&lt;/p&gt;
&lt;p&gt;ps: i had to firebug your css to be able read it, the dark gray background around the code is unviewable&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1693879" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1692128</link><pubDate>Sat, 09 May 2009 14:40:16 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1692128</guid><dc:creator>Nofian Adi</dc:creator><description>&lt;p&gt;I have WF service with WCF. How I can change instance, that have persisted become active again?? &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1692128" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1679443</link><pubDate>Thu, 19 Mar 2009 10:38:53 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1679443</guid><dc:creator>lisha</dc:creator><description>&lt;p&gt;I have workflow service hosted in IIS invoked from asp.net.&lt;/p&gt;
&lt;p&gt;I have done side by side versioning using config file. Not used GAC. The &amp;lt;runtime&amp;gt; is added to workflow service app.config and host web.config. If not added in host web.config the &amp;#39;Could not load assembly&amp;#39; error was thrown.&lt;/p&gt;
&lt;p&gt;Now I get an error &amp;#39;The object with ID 37 implements the IObjectReference interface for which all dependencies cannot be resolved. The likely cause is two instances of IObjectReference that have a mutual dependency on each other.&amp;#39; when an instance created with old version is rehrdrated.&lt;/p&gt;
&lt;p&gt;Please help.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Lisha&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1679443" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1678825</link><pubDate>Tue, 17 Mar 2009 21:42:14 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1678825</guid><dc:creator>Zhou</dc:creator><description>&lt;p&gt;Hi Maurice,&lt;/p&gt;
&lt;p&gt;In terms of making a fix to a particular version of a workflow, what if the fix incompatible with the version that has the bug? &amp;nbsp;For example, if a new property was added, wouldn&amp;#39;t that make the it impossible to rehydrate the older workflow into the new workflow? &amp;nbsp;Maybe I&amp;#39;m missing the whole point... will you please clarify for me?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;p&gt;-Zhou&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1678825" width="1" height="1"&gt;</description></item><item><title>links for 2008-11-27 &amp;raquo; The Gryphin Experience</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1655253</link><pubDate>Thu, 27 Nov 2008 20:01:18 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1655253</guid><dc:creator>links for 2008-11-27 » The Gryphin Experience</dc:creator><description>&lt;p&gt;Pingback from &amp;nbsp;links for 2008-11-27 &amp;raquo; The Gryphin Experience&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1655253" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1651495</link><pubDate>Tue, 21 Oct 2008 12:34:08 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1651495</guid><dc:creator>Ula</dc:creator><description>&lt;p&gt;Hi Maurice,&lt;/p&gt;
&lt;p&gt;Thank you for your prompt answer. Issue with tracking service is similar to this post: &lt;a rel="nofollow" target="_new" href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1565153&amp;amp;SiteID=1"&gt;forums.microsoft.com/.../ShowPost.aspx&lt;/a&gt;. Tracking service did not throw ClassNotFoundExcepton or CastException. It simple did not receive any events from the working workflow instance. As if tracking service was not there.&lt;/p&gt;
&lt;p&gt;Turned out, that workflow instance keeps somewhere very deep version number of tracking service that was used, when the instance was first created.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1651495" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1651485</link><pubDate>Tue, 21 Oct 2008 08:43:08 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1651485</guid><dc:creator>Maurice</dc:creator><description>&lt;p&gt;Hi Ula,&lt;/p&gt;
&lt;p&gt;Is your custom tracking service actually using one of your custom types that you are using in the workflow? If so you are probably running into the same versioning issues where the variable used in the tracking service is of a different version the variable type in the workflow.&lt;/p&gt;
&lt;p&gt;One option is to use multiple tracking services, one for each version, but that doesn&amp;#39;t sound like a very workable solution. Another option is to stick to the native .NET types and only reference the data as Object and use reflection. Again not a very nice solution.&lt;/p&gt;
&lt;p&gt;Depending on the situation it would probably be best to add a class to your workflow assembly that does all the workflow data specific tracking work and create an object using reflection as I did with the external data service in part 2 (see the code in SendEvent2). Using this object do all the version specific work and return standard .NET types (like a Dictionary&amp;lt;string, object&amp;gt;) with the data you need in the tracking service itself.&lt;/p&gt;
&lt;p&gt;Again not pretty but in line with what WF does.&lt;/p&gt;
&lt;p&gt;Maurice&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1651485" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1651482</link><pubDate>Tue, 21 Oct 2008 08:07:36 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1651482</guid><dc:creator>Ula</dc:creator><description>&lt;p&gt;Maurice, thank you very much for this excellent series. &lt;/p&gt;
&lt;p&gt;Versioning workflow instances was a problem I had for a long time in my project and now I finally think it is doable, which I doubted before.&lt;/p&gt;
&lt;p&gt;One question tough: I have a custom tracking service defined in separate assembly, which is versioned. Recently I&amp;#39;ve updated it and suddenly old workflow instances, which were started with a previousversion of this service, stopped sending tracking information. I managed to solve this in not very elegant way, could you perhaps suggest some elegant solution? I just want to say that workflow version and tracking service version do not change at the same time.&lt;/p&gt;
&lt;p&gt;Thank you again&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1651482" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1650588</link><pubDate>Sat, 11 Oct 2008 22:54:12 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1650588</guid><dc:creator>Michael Washington</dc:creator><description>&lt;p&gt;Great article. It taught me how to version workflows but could not solve my error with an external event because I ma not manually starting my workflows because I&amp;#39;m using my workflows hosted in a web service. &lt;/p&gt;
&lt;p&gt;The solution was to separate my interface and give it a strong name. &lt;/p&gt;
&lt;p&gt;See: &lt;a rel="nofollow" target="_new" href="http://www.adefwebserver.com/DotNetNukeHELP/Workflow/VacationRequest3.htm"&gt;www.adefwebserver.com/.../VacationRequest3.htm&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1650588" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1649142</link><pubDate>Mon, 29 Sep 2008 10:37:34 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649142</guid><dc:creator>Venki</dc:creator><description>&lt;p&gt;hey the link for part 3 is pointing to part 4. can you pls correct it so that we won&amp;#39;t miss the excellent flow and I don;&amp;#39;t want to miss part 3 and just jump to part 4.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649142" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1648545</link><pubDate>Mon, 22 Sep 2008 17:05:27 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1648545</guid><dc:creator>Bradley</dc:creator><description>&lt;p&gt;The link for part 3 is pointing to part 4.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1648545" width="1" height="1"&gt;</description></item><item><title>Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1648520</link><pubDate>Mon, 22 Sep 2008 12:25:19 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1648520</guid><dc:creator>The Problem Solver</dc:creator><description>&lt;p&gt;Part 1 Part 2 Part 3 Part 4 In the first article of this series I demonstrated how to get multiple versions&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1648520" width="1" height="1"&gt;</description></item><item><title>Versioning long running workflows part 4</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1648519</link><pubDate>Mon, 22 Sep 2008 12:24:46 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1648519</guid><dc:creator>WF Community Bloggers</dc:creator><description>&lt;p&gt;Part 1 Part 2 Part 3 Part 4 In the previous blog posts we made sure we could have multiple versions of&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1648519" width="1" height="1"&gt;</description></item><item><title>Versioning long running workflows part 4 - The Problem Solver</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/22/versioning-long-running-workflows-part-4.aspx#1648518</link><pubDate>Mon, 22 Sep 2008 12:23:58 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1648518</guid><dc:creator>Versioning long running workflows part 4 - The Problem Solver</dc:creator><description>&lt;p&gt;Pingback from &amp;nbsp;Versioning long running workflows part 4 - The Problem Solver&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1648518" width="1" height="1"&gt;</description></item></channel></rss>