Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

Navigational Workflows Unleashed in WWF/ASP.NET 3.5

, 21 Oct 2008
Case-study on the internals of a Navigational Workflow engine for a fictional dating website called “World Wide Dating”.
datesite.zip
DateSite
App_Data
bin
database setup procedure
DateSite.csproj.user
Global.asax
images
complete.png
critical.png
logo2.png
warning.png
Profile.dbml
Profile.dbml.layout
Properties
Service References
NavigationWorkflow
bin
NavigationWorkflow.layout
Properties
Settings.settings
using System;

namespace DateSite
{
    /// <summary>
    /// The last page encountered in the navigational workflow.
    /// </summary>
    public partial class complete : System.Web.UI.Page
    {
        private WorkflowManager _workflowManager;

        /// <summary>
        /// Page initialization code.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Init(object sender, EventArgs e)
        {
            // create an instance of the navigational workflow manager
            _workflowManager = new WorkflowManager(Application, Session, Request, Response);

            // make sure the workflow is synchronized... meaning the page we are on is the page we should be on / can be on
            _workflowManager.SynchronizeWorkflow();
        }

        /// <summary>
        /// Navigate to the previous page in the navigational workflow.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnPrevious_Click(object sender, EventArgs e)
        {
            // navigate to the previous page
            string pageToGoTo = _workflowManager.Previous();
            _workflowManager.ManagedRedirect(pageToGoTo);
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Pero Matić
Software Developer (Senior) Plan A Software
United States United States
No Biography provided

| Advertise | Privacy | Mobile
Web01 | 2.8.140721.1 | Last Updated 21 Oct 2008
Article Copyright 2008 by Pero Matić
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid