<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx</link><description>Ever wonder why this.delayActivity1.TimeoutDuration sometimes doesn't change the timeout duration? How come this.callExternalMethodActivity1.ParameterBindings["(ReturnValue)"] isn't giving you the value you expect in some scenarios? How is it possible</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#590300</link><pubDate>Fri, 05 May 2006 02:11:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:590300</guid><dc:creator>SKovour</dc:creator><description>First of all I have to appreciate the pain you have taken to explain about execution context. &amp;nbsp;Your blog helped me to understand signficance of execution context and what is difference between template activity and activity in context activity (Before reading this blog, I am not able to understand why I am getting an exeception from ExecuteActivity with a message that my activity is not in the context). &amp;nbsp;However now I am more in dielamma, as I am not sure WWF capabilities can help me to solve the problem I am planning to resolve.&lt;br&gt;&lt;br&gt;I am doing a feasability study to see whether WWF can solve our workflow issue in the doamin of medical imaging applications. &amp;nbsp;We would like to model serveral clinical image processing blocks as activities as elements in pipe line pattern. &amp;nbsp;Specifically we are wondering whether you can modify sequence activity for example to a behavior similar to a pipe line element. &amp;nbsp;One of the challenging requirements (with respective to using WWF) is, properties of piple line elements can be modifable by hosting applicaiton and in that case it is expected that piple line starting from the segment whose properties are modified, need to be re-executed. &amp;nbsp;And this can happend several times in course of workflow. &amp;nbsp;I am not really sure how I model this control behaviour in a custom activity that is derived from composite activity. &amp;nbsp;&lt;br&gt;&lt;br&gt;Any help on this is highly appreciated. &amp;nbsp;I am not sure whether Microsoft officially supporting WWF through technical consultancy. &amp;nbsp;&lt;br&gt;&lt;br&gt;-Sathya</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#602030</link><pubDate>Fri, 19 May 2006 21:22:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:602030</guid><dc:creator>ntalbert</dc:creator><description>&lt;FONT face=Tahoma size=2&gt;SKovour, &lt;BR&gt;&lt;BR&gt;Your scenario is an interesting one and it is definitely one which can enabled by Windows Workflow Foundation (WF). &amp;nbsp;While I'm not going to provide an exact solution for your scenario, I will get you started with some potential architectures for getting the behavior you desire. &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;The Root Activity&lt;/STRONG&gt; &lt;BR&gt;The pipeline container activity needs to support the more generic concept of being able to interrupt the current work to arbitrarily go back and start over from some point. &amp;nbsp;This, surprisingly enough, should be pretty easy to implement. &lt;BR&gt;&lt;BR&gt;First, the activity could create a queue at execution time to which it will subscribe for QueueItemAvailable. &amp;nbsp;The handler will expect that the item passed on the queue is the name of the next activity that should be executed. &amp;nbsp;The logic for the QueueItemAvailable handler might look something like this (psuedo-code): &lt;BR&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&lt;EM&gt;ActivityExecutionContext context = (ActivityExecutionContext)sender; &lt;BR&gt;string nextName = (string)q.Dequeue(); &lt;BR&gt;&lt;BR&gt;Assert(context.ExecutionContextManager.Contexts.Count &amp;lt;= 1, "Should only have at most one child executing."); &lt;BR&gt;&lt;BR&gt;if (context.ExecutionContextManager.Contexts.Count &amp;gt; 0) &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;AEC childContext = context.ExecutionContextManager.Contexts[0]; &lt;BR&gt;&amp;nbsp;if (childContext.Activity.ExecutionStatus == ActivityExecutionStatus.Executing) &lt;BR&gt;&amp;nbsp; &amp;nbsp;childContext.CancelActivity(childContext.Activity); &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;this.SetNextIndex(this.EnableActivities.IndexOf(this.Activities[nextName])); &lt;BR&gt;&lt;BR&gt;The logic for the Activity.Closed handler might look like: &lt;BR&gt;&lt;BR&gt;// Complete the context for the closed activity &lt;BR&gt;&lt;BR&gt;if (NextIndexToExecute &amp;gt;= this.EnabledActivities.Count) &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;context.CloseActivity(); &lt;BR&gt;&amp;nbsp;return; &lt;BR&gt;} &lt;BR&gt;&lt;BR&gt;AEC childContext = context.ExecutionContextManager.CreateExecutionContext(this.EnabledActivities[NextIndexToExecute]); &lt;BR&gt;childContext.Activity.Closed += OnActivityClosed; &lt;BR&gt;childContext.ExecuteActivity(childContext.Activity); &lt;BR&gt;&lt;BR&gt;this.SetNextIndex(NextIndexToExecute + 1);&lt;/EM&gt;&lt;/FONT&gt; &lt;BR&gt;&lt;BR&gt;Now, there are probably some logic bugs in the above code that need to be ironed out (is there a race between an event coming in and an activity closing which could cause the "rework" not to occur?), but the idea is that some external event can cause cancellation and an activity's execution logic can be written to have a dynamically decided "next child to execute". &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Updating the Pipeline Components&lt;/STRONG&gt; &lt;BR&gt;WF already has a mechanism for adding and removing components at runtime (the WorkflowChanges dynamic update capabilities). &amp;nbsp;You could simply piggyback on these and have a change a pipeline component be a remove followed by an add. &amp;nbsp;This would require a little more engineering in some places (you'd have to cancel the child first if you were trying to remove an executing one), but would probably be one of the easier approaches. &amp;nbsp;Note that this will also have a performance implication because every dynamic change is persisted with the workflow's instance. &amp;nbsp;That is to say that if you remove 30 activities and add 30 activities then your persistence footprint will now include a record for each removal and each addition. &lt;BR&gt;&lt;BR&gt;An alternate solution is to implement a generic "property update" capability either on the Root activity (the pipeline container described above) or on the base pipeline component class. &amp;nbsp;This could be implemented as a queue onto which the host places some path to be updated and some value to to assign. &amp;nbsp;Because of requirements around the state of an activity and event delivery (events are only delivered to non-Initialized, non-Closed activities), you'd probably want to implement this on the root. &amp;nbsp;So, for example, the queue item available handler for this queue might look like: &lt;BR&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&lt;EM&gt;PropertyUpdate update = q.Dequeue(); &lt;BR&gt;Activity act = this.Activities[update.ActivityName]; &lt;BR&gt;PropertyInfo pInfo = act.GetType().GetPropertyInfo(update.PropertyName); &lt;BR&gt;pInfo.SetValue(update.NewValue);&lt;/EM&gt;&lt;/FONT&gt; &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Example Host Usage&lt;/STRONG&gt; &lt;BR&gt;&lt;FONT face="Courier New"&gt;&lt;EM&gt;WorkflowInstance wi = wr.GetWorkflow(wfGuid); &lt;BR&gt;wi.EnqueueItem("UpdateQueue", new PropertyUpdate("SomeActivity", "SomeProperty", 5), null, null); &lt;BR&gt;wi.EnqueueItem("StartRework", "SomeActivity", null, null);&lt;/EM&gt;&lt;/FONT&gt; &lt;BR&gt;&lt;BR&gt;Note that if the pipeline container activity is the one listening for UpdateQueue then it can be smart enough to start the rework from the earliest activity that is updated. &amp;nbsp;You'll also probably want to be able to "batch" updates seeing as you might change one or more components at a time (and several properties on each) but don't necessarily want that to translate into the work being restarted that many times. &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Conclusion &lt;/STRONG&gt;&lt;BR&gt;This is just a quick, first guess solution, but with a little work I think it could get you well along the path. &amp;nbsp;I'm sure that there are requirements of yours which will conflict with some of the examples given above, but the point is that you can do pretty much anything you can imagine with WF.&lt;/FONT&gt;</description></item><item><title>WF Serialization Part One and a half</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#622553</link><pubDate>Thu, 08 Jun 2006 21:26:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:622553</guid><dc:creator>Jon Flanders' Blog</dc:creator><description /></item><item><title>My Gripes with Windows Workflow</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#705211</link><pubDate>Fri, 18 Aug 2006 06:04:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:705211</guid><dc:creator>K. Scott Allen</dc:creator><description>Brian Noyes' post &amp;amp;quot;Understanding Windows Workflow and its complexities&amp;amp;quot; has me thinking. &lt;br&gt;I know a few...</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#770283</link><pubDate>Mon, 25 Sep 2006 12:32:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:770283</guid><dc:creator>Howard Richards</dc:creator><description>Am I hitting something to do with ExecutionContext here? I am trying to subclass StateActivity. I created an event that I raise during the first EXECUTE method - but if the workflow event code modifies DependencyProperties, the values don't seem to be visible to the subclass code?&lt;br&gt;&lt;br&gt;e.g.&lt;br&gt; Protected Overrides Function Execute(ByVal executionContext As System.Workflow.ComponentModel.ActivityExecutionContext) As System.Workflow.ComponentModel.ActivityExecutionStatus&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'raise event&lt;br&gt; &amp;nbsp; Mybase.RaiseEvent(StateSubclass.InitializeTask, Me, EventArgs.Empty)&lt;br&gt; &amp;nbsp; 'cannot access values set by event handler here?&lt;br&gt; &amp;nbsp; ' console.WriteLine(&amp;quot;Value is &amp;quot; &amp;amp; me.someProperty)&lt;br&gt; &amp;nbsp;Mybase.Execute(executionContext)&lt;br&gt;End Sub &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br&gt;</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#771183</link><pubDate>Tue, 26 Sep 2006 00:35:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:771183</guid><dc:creator>ntalbert</dc:creator><description>Yes, you most likely are hitting something to do with execution contexts. &amp;nbsp;My guess would be that your event handler for InitializeTask is NOT accessing the activity by casting the sender argument, but instead is accessing some field on the workflow which represents the activity.&lt;br&gt;&lt;br&gt;If that is the case (you are NOT using sender) then the problem you are seeing is that the handler is changing the template activity and not the current instance. &amp;nbsp;State machine starts each state in a new execution context, so the template activity is never actually executed.&lt;br&gt;&lt;br&gt;Let me know if you are still having issues.</description></item><item><title>Implementing the N of M Pattern in WF</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#3556627</link><pubDate>Wed, 27 Jun 2007 03:38:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3556627</guid><dc:creator>Matt W's Windows Workflow Place</dc:creator><description>&lt;p&gt;The second in my series of alternate execution patterns ( part 1 ) I recently worked with a customer&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#3597686</link><pubDate>Fri, 29 Jun 2007 08:05:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3597686</guid><dc:creator>john.muller</dc:creator><description>&lt;p&gt;Hi. Very nice post, thanks.&lt;/p&gt;
&lt;p&gt;I have been using the AEC and was wondering about performance. &amp;nbsp;As a result I thought it to be a good idea to execute any 'first' branch within the default AEC and any subsequent branches within new child AEC's. &amp;nbsp;Is my assumption correct that I might be gaining anything using this solution (next to a bit more complicated logic to manage these AEC's)?&lt;/p&gt;
&lt;p&gt;My initial assumption was that creating new child AEC's incur a bit of a performance hit - firstly, the actual code to create a new instance has to incur a tiny performance hit, and secondly persisting these workflows + their associated AEC's has to incur a performance hit (I think). &lt;/p&gt;
&lt;p&gt;So, I guess the question is two-fold :). &amp;nbsp;Is my assumption correct, and do I gain anything using the aforementioned solution.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#3675455</link><pubDate>Tue, 03 Jul 2007 23:03:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3675455</guid><dc:creator>ntalbert</dc:creator><description>&lt;p&gt;john.muller, you will be unable to do what you are attempting. &amp;nbsp;The activity execution state machine terminates in the Closed state. &amp;nbsp;This means that once you execute an activity it cannot ever be executed again. &amp;nbsp;This includes trying to execute it in a new context.&lt;/p&gt;
&lt;p&gt;By spawning a new context with an activity which has not yet executed, you are cloning an Initialized activity. &amp;nbsp;Attempting to do so with a Closed activity will simply give you a clone of a Closed activity - we'll throw an exception preventing you from doing this.&lt;/p&gt;
&lt;p&gt;Note that creating contexts is definitely a costly operation. &amp;nbsp;If you need to squeeze every last bit of perf out then unrolling loops will give you a noticable gain.&lt;/p&gt;
</description></item><item><title>Zen and the Art of Information Management &amp;raquo; SharePoint Workflow: Replicator (to be continued)</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#4123930</link><pubDate>Mon, 30 Jul 2007 04:20:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4123930</guid><dc:creator>Zen and the Art of Information Management » SharePoint Workflow: Replicator (to be continued)</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.kcdholdings.com/blog/?p=74"&gt;http://www.kcdholdings.com/blog/?p=74&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#4742994</link><pubDate>Tue, 04 Sep 2007 19:10:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4742994</guid><dc:creator>lcorneliussen</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;how can i access the right activity from within a declarative condition? And how inside the Excecute-Event of an activity.&lt;/p&gt;
&lt;p&gt;I would like to make the conditions react directly on activity properties, because my workflow ist just a xml definition and its base class should only have a really limited set of properties.&lt;/p&gt;
&lt;p&gt;It would be awesome if you still watch the comments on this blog.&lt;/p&gt;
&lt;p&gt;Tanks,&lt;/p&gt;
&lt;p&gt;Lars (originally from Germany, but now in Mexico)&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#5937307</link><pubDate>Tue, 06 Nov 2007 17:45:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5937307</guid><dc:creator>ilohraphael</dc:creator><description>&lt;p&gt;Hello Nate,&lt;/p&gt;
&lt;p&gt;I was wondering if you've got any pointers on how to use the replicator activity in a state machine workflow. I've tried using the WssTaskActivity but that keeps throw some exceptions about the number of activities contained that implement the IEventActivity.&lt;/p&gt;
&lt;p&gt;Any ideas will be welcomed.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Raphael.&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#5940685</link><pubDate>Tue, 06 Nov 2007 20:59:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5940685</guid><dc:creator>ntalbert</dc:creator><description>&lt;p&gt;Lars, unfortunately I can't be much help for your scenario as I'm wholly unversed in declarative workflows and pretty unfamiliar with the syntax for our rules. &amp;nbsp;That said, the WF forums are a great place for these types of questions. &amp;nbsp;The forums are very active these days: &lt;a rel="nofollow" target="_new" href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=122&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=122&amp;amp;SiteID=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sorry I couldn't be more help directly ... and sorry about the late reply.&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#5940805</link><pubDate>Tue, 06 Nov 2007 21:06:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5940805</guid><dc:creator>ntalbert</dc:creator><description>&lt;p&gt;Raphael, the short version is that you cannot use replicator in a state machine in the manner that you are trying to use it. &amp;nbsp;State machine is very strict about being composed only of States. &amp;nbsp;Each state, in turn, either contains more states or events. &amp;nbsp;Events MUST start with IEventActivities and must not contain IEventActivities anywhere else in their flow.&lt;/p&gt;
&lt;p&gt;The benefit of these restrictions is that the state machine can guarantee that all events in a state are atomic (you will never get part of the event's work done while another event is running), it can guarantee mutual exclusion between the events in a state (only one will fire at a time), and it can guarantee that events are largely CPU bound.&lt;/p&gt;
&lt;p&gt;Replicator is designed to be used with sequential style workflows and allows for easy management of multiple, similar, tasks such as the WssTaskActivity. &amp;nbsp;If you want to do the same thing in StateMachine then you need to approach the problem from a completely different standpoint. &amp;nbsp;Instead of replicating the task that everyone should do, you need to view it as a state where you create all of the tasks, a state where you wait for all of the tasks to complete (or be updated, etc), and finally a state where you do your final set of work.&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#5971348</link><pubDate>Thu, 08 Nov 2007 02:18:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5971348</guid><dc:creator>Frederick Morrison</dc:creator><description>&lt;p&gt;You say that we cannot use the Replicator in a state machine workflow. &amp;nbsp;Instead, you say we have to program in a completely different manner. &amp;nbsp;Please provide a link to an example to back up what you say. &amp;nbsp;I'll give $500 dollars to the first person who provides a real example of a state machine workflow that creates an unknown-until-run-time set of parallel tasks based upon InfoPath task forms, all of which have to finish before the state of the workflow can move forward to the next state. &amp;nbsp;I have a feeling that my money is pretty safe.&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#5973324</link><pubDate>Thu, 08 Nov 2007 04:13:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5973324</guid><dc:creator>ntalbert</dc:creator><description>&lt;p&gt;Frederick, I'm not terribly familiar with the WssTaskActivity (and the other Sharepoint activities) and I was definitely speaking from a theoretical point of view - when you want to replicate things which have some sort of receive in them inside of a state machine you have to separate the receive into its own event handler.&lt;/p&gt;
&lt;p&gt;For questions of how to make use of WssTaskActivity in scenarios where the list of users is dynamic I'll redirect you to the Sharepoint Workflow forums: &lt;a rel="nofollow" target="_new" href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1207&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1207&amp;amp;SiteID=1&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Thanks to Lexis Nexis!</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#8443022</link><pubDate>Wed, 30 Apr 2008 14:39:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8443022</guid><dc:creator>Kirk Allen Evans's Blog</dc:creator><description>&lt;p&gt;We are about to start a great day showing technologies like .NET 3.5, Visual Studio 2008, and SharePoint&lt;/p&gt;
</description></item><item><title>Exploring Workflow Foundation Part 1: Custom Activities &amp;laquo; Hungry for Knowledge</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#8729309</link><pubDate>Sun, 13 Jul 2008 21:59:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8729309</guid><dc:creator>Exploring Workflow Foundation Part 1: Custom Activities &amp;laquo; Hungry for Knowledge</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://sdesmedt.wordpress.com/2008/07/13/exploring-workflow-foundation-part-1-custom-activities/"&gt;http://sdesmedt.wordpress.com/2008/07/13/exploring-workflow-foundation-part-1-custom-activities/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Commonality - Spawned Contexts and Activity Binding</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#8938597</link><pubDate>Wed, 10 Sep 2008 05:53:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8938597</guid><dc:creator>Commonality - Spawned Contexts and Activity Binding</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.winterdom.com/weblog/2006/05/04/SpawnedContextsAndActivityBinding.aspx"&gt;http://www.winterdom.com/weblog/2006/05/04/SpawnedContextsAndActivityBinding.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Exploring Workflow Foundation Part 4: Custom Composite Activities &amp;laquo; Hungry for Knowledge</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#8976984</link><pubDate>Sun, 05 Oct 2008 15:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8976984</guid><dc:creator>Exploring Workflow Foundation Part 4: Custom Composite Activities &amp;laquo; Hungry for Knowledge</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://sdesmedt.wordpress.com/2008/10/05/exploring-workflow-foundation-part-4-custom-composite-activities/"&gt;http://sdesmedt.wordpress.com/2008/10/05/exploring-workflow-foundation-part-4-custom-composite-activities/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>
		Child Activity
		</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#9230635</link><pubDate>Wed, 17 Dec 2008 13:50:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9230635</guid><dc:creator>
		Child Activity
		</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.baby-parenting.com/family/child_activity.html"&gt;http://www.baby-parenting.com/family/child_activity.html&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#9339858</link><pubDate>Mon, 19 Jan 2009 14:12:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9339858</guid><dc:creator>heman_1978</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;We are developing an application using Windows workflow and InformixV7.x version. I have got by batch service and Persistence servivce working perfectly. But we would like to have a feature where in if a workflow instance and the application objects associated with that workflow is in process by a user then the other users should not be able to modify it.&lt;/p&gt;
&lt;p&gt;We are using ASP.NET 2.0 for implementing this application and the Runtime is created as an application level object and the persistence service is created and initialized at application on start itself.&lt;/p&gt;
&lt;p&gt;Also we would like to have the locking based on Application IDs rather than arbitrary GUID. &lt;/p&gt;
&lt;p&gt;What do you suggest ?&lt;/p&gt;
&lt;p&gt;1) Do some modification (if so please tell us the modification) to persistence service and get this done&lt;/p&gt;
&lt;p&gt;2) Handle the application as part of application objects retrieval and persistence.&lt;/p&gt;
&lt;p&gt;Please help us in this regard&lt;/p&gt;
</description></item><item><title>re: Spawned Contexts - Replicator, While, State, EventHandlers, and CAG</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#9349447</link><pubDate>Tue, 20 Jan 2009 21:09:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9349447</guid><dc:creator>ntalbert</dc:creator><description>&lt;p&gt;heman, that type of integration scenario is a bit out of scope of this blog. &amp;nbsp;I'd suggest you post the same information on the MSDN WF forum (&lt;a rel="nofollow" target="_new" href="http://social.msdn.microsoft.com/forums/en-US/windowsworkflowfoundation/threads/"&gt;http://social.msdn.microsoft.com/forums/en-US/windowsworkflowfoundation/threads/&lt;/a&gt;). &amp;nbsp;These forums are actively monitored by the product team and should be the quickest route to a solution.&lt;/p&gt;
</description></item><item><title> Advanced Workflow Enabling Tricky Scenarios Spawned Contexts | Insomnia Cure</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#9710152</link><pubDate>Tue, 09 Jun 2009 01:19:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9710152</guid><dc:creator> Advanced Workflow Enabling Tricky Scenarios Spawned Contexts | Insomnia Cure</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://insomniacuresite.info/story.php?id=4108"&gt;http://insomniacuresite.info/story.php?id=4108&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Advanced Workflow Enabling Tricky Scenarios Spawned Contexts | Cellulite Creams</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#9720788</link><pubDate>Wed, 10 Jun 2009 04:45:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9720788</guid><dc:creator> Advanced Workflow Enabling Tricky Scenarios Spawned Contexts | Cellulite Creams</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://cellulitecreamsite.info/story.php?id=398"&gt;http://cellulitecreamsite.info/story.php?id=398&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Advanced Workflow Enabling Tricky Scenarios Spawned Contexts | Quick Diets</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#9723046</link><pubDate>Wed, 10 Jun 2009 06:35:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9723046</guid><dc:creator> Advanced Workflow Enabling Tricky Scenarios Spawned Contexts | Quick Diets</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://quickdietsite.info/story.php?id=751"&gt;http://quickdietsite.info/story.php?id=751&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Advanced Workflow Enabling Tricky Scenarios Spawned Contexts | debt solutions</title><link>http://blogs.msdn.com/advancedworkflow/archive/2006/03/21/557121.aspx#9790317</link><pubDate>Fri, 19 Jun 2009 19:36:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9790317</guid><dc:creator> Advanced Workflow Enabling Tricky Scenarios Spawned Contexts | debt solutions</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://debtsolutionsnow.info/story.php?id=3912"&gt;http://debtsolutionsnow.info/story.php?id=3912&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>