<?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 workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx</link><description>Part 1 Part 2 Part 3 Part 4 In the first article of this series I demonstrated how to get multiple versions of a workflow running side by side in the same&amp;#160; workflow runtime. The most important thing was that you need to keep every version of the</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1674557</link><pubDate>Fri, 27 Feb 2009 18:49:23 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1674557</guid><dc:creator>Joe Krueger</dc:creator><description>&lt;p&gt;So if you are going to replace a HandleExternalEvent activity with a custom activity how do you handle the Handlers and Parameters that are available in the HandleExternalEvent activity (IE, how do you get your custom activity to have the same handlers and parameters (e, sender) as the HandleExternalEvent activity?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1674557" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1668767</link><pubDate>Wed, 04 Feb 2009 09:17:08 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1668767</guid><dc:creator>Maurice</dc:creator><description>&lt;p&gt;@MattK&lt;/p&gt;
&lt;p&gt;That help in finding the right assembly but you still need to make sure you create an object of exactly the right type using Activator.CreateInstance().&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1668767" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1668546</link><pubDate>Tue, 03 Feb 2009 16:57:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1668546</guid><dc:creator>MattK</dc:creator><description>&lt;p&gt;In relation to the custom message type, would the same runtime redirection that is utilized in part 4 of this series for the workflow assembly solve the issue for the custom message type if in fact that type is defined in a separate assembly?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1668546" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1661350</link><pubDate>Tue, 13 Jan 2009 11:58:21 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1661350</guid><dc:creator>Maurice</dc:creator><description>&lt;p&gt;@Alistair,&lt;/p&gt;
&lt;p&gt;No sorry, however the exact same approach should work using an ASP.NET application. Otherwise you can add you assemblies to the GAC instead of using a private probing path.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1661350" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1661146</link><pubDate>Mon, 12 Jan 2009 15:16:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1661146</guid><dc:creator>Alistair</dc:creator><description>&lt;p&gt;Do you have any examples of using versioning within an ASP.Net application?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1661146" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1661130</link><pubDate>Mon, 12 Jan 2009 14:09:38 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1661130</guid><dc:creator>Maurice</dc:creator><description>&lt;p&gt;@ Michael,&lt;/p&gt;
&lt;p&gt;Yes VB had that capability today.&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=1661130" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1661011</link><pubDate>Mon, 12 Jan 2009 06:05:45 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1661011</guid><dc:creator>Michael Lang</dc:creator><description>&lt;p&gt;I&amp;#39;ve heard someone summarise the dynamic features in C#4 as C# with the best of VB.NET. &amp;nbsp; Would using VB.NET and its implicit late binding in .NET 3.5 circumvent some of these problems ? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://smartypeeps.blogspot.com/2006/06/late-binding-in-c-and-vbnet.html"&gt;smartypeeps.blogspot.com/.../late-binding-in-c-and-vbnet.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Perhaps another workaround is to do WF development in VB.NET.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1661011" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1659865</link><pubDate>Fri, 09 Jan 2009 09:45:38 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1659865</guid><dc:creator>Maurice</dc:creator><description>&lt;p&gt;@Michael,&lt;/p&gt;
&lt;p&gt;The dynamic stuff in C#4 os going to help a lot here. But then WF4 is a completely different animal so we might not even need to.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1659865" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1659707</link><pubDate>Fri, 09 Jan 2009 03:59:48 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1659707</guid><dc:creator>Michael Lang</dc:creator><description>&lt;p&gt;What would be really good, is this same series of articles re-written for .NET 4.0. &amp;nbsp;It strikes me that all this ugly reflection code could be eliminated using .NET 4.0 dynamically typed objects. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Plus perhaps there are better constructs available in WF .NET 4.0 to handle these scenarios.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1659707" width="1" height="1"&gt;</description></item><item><title>re: Versioning long running workfows part 3</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1652330</link><pubDate>Wed, 29 Oct 2008 01:57:16 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1652330</guid><dc:creator>Sam</dc:creator><description>&lt;p&gt;This is a really good series on what is actually a massive problem with Workflow Foundation.&lt;/p&gt;
&lt;p&gt;I had to find my own solutions to these problems which basically come to the same point as yours (side-by-side execution from GAC, using reflection to call methods on different versions of the data exchange service). &lt;/p&gt;
&lt;p&gt;It works, but it ain&amp;#39;t pretty!&lt;/p&gt;
&lt;p&gt;To me, this story should be built into WF so that we don&amp;#39;t have to write this code ourselves (and have various aneurisms on the way) - we should be able to tell WF what versions we expect to run, and WF should do all the jiggery-pokery to do the actual execution, including whether to use reflection or not.&lt;/p&gt;
&lt;p&gt;To me it just shows the immaturity of the product and I really hope that Microsoft are working on this stuff for future releases.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1652330" width="1" height="1"&gt;</description></item><item><title>Versioning long running workflows part 2 - The Problem Solver</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1649423</link><pubDate>Wed, 01 Oct 2008 17:01:48 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649423</guid><dc:creator>Versioning long running workflows part 2 - The Problem Solver</dc:creator><description>&lt;p&gt;Pingback from &amp;nbsp;Versioning long running workflows part 2 - The Problem Solver&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649423" width="1" height="1"&gt;</description></item><item><title>Versioning long running workfows part 3 - The Problem Solver</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1649422</link><pubDate>Wed, 01 Oct 2008 17:01:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649422</guid><dc:creator>Versioning long running workfows part 3 - The Problem Solver</dc:creator><description>&lt;p&gt;Pingback from &amp;nbsp;Versioning long running workfows part 3 - The Problem Solver&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649422" 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/16/versioning-long-running-workfows-part-3.aspx#1649421</link><pubDate>Wed, 01 Oct 2008 17:01:07 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649421</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=1649421" width="1" height="1"&gt;</description></item><item><title>Versioning long running workfows part 1 - The Problem Solver</title><link>http://msmvps.com/blogs/theproblemsolver/archive/2008/09/16/versioning-long-running-workfows-part-3.aspx#1647920</link><pubDate>Tue, 16 Sep 2008 14:32:02 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1647920</guid><dc:creator>Versioning long running workfows part 1 - The Problem Solver</dc:creator><description>&lt;p&gt;Pingback from &amp;nbsp;Versioning long running workfows part 1 - The Problem Solver&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1647920" width="1" height="1"&gt;</description></item></channel></rss>