I am pretty new to WF and have been doing some reading and samples. Apologise if this topic is covered already but I'm kind of pressed for time here. The first query is actually the one where I really need some direction.


1. I have a state machine work flow. I have the Activity to send emails from one of the samples.

My query here is, I want to have a Business Rule which states that send an email if the aprroval does not happen in say 1 week. I want to use the BR engine here so that this time period can be configured.

How do I go about doing this

2. If I have to go about doing this, I assume that I need to keep the workflow alive by using the Persistence Service. Coz only then would the workflow know that the time period has elapsed and that an email needs to be sent. Am i right

3. Comparison:

I know that WF is a framework rather than a product. But is there some data available as to how WF compares to other products

4. Best Practices:

I did some reading about performance chacteristics and stuff. But again, are there some documented best practices

Thanks in advance,


Re: Windows Workflow Foundation Rules in State Machine/ Escalation .. and more ..

Kavita Kamani - MSFT

Hi Soni,

1. Out of the box, Rules cannot invoke other activities in WF V1. We do have a sample using a Custom RuleAction implementation that shows how to do this. http://wf.netfx3.com/files/folders/rules_samples/entry4623.aspx - this sample has 3 custom RuleActions, and one of them is about calling another activity. This activity could be the Delay Activity or your Email Activity.

So the way to achieve your scenario would be to put the Policy activity inside EventDriven activity in a State Machine WF; and the RuleSet you'd use in the Policy Activity would use the custom RuleAction.

2. If you have a Persistance Service configured which will persist on Idle, then the WF will not stay in memory when it is idle...it can be persisted to the DB and then reloaded back in when active work can happen. See this thread - http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=1603116&SiteID=1 and also check out the persistance services documentation on MSDN.

3. BizTalk allows you to define orchestrations (workflows) as well but BizTalk is a Server product that has a whole set of features to go with an Orchestration. WF is part of the .NET platform, and installed by default on Windows Vista, so it brings workflow technology to the broad set of windows developers. May be this will help - http://blogs.msdn.com/lamonth/archive/2005/09/14/466222.aspx

4. Check this out - http://msdn2.microsoft.com/en-us/library/Aa973808.aspx