Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / Forth.NET

ASP.NET WorkFlow with parameters

1.86/5 (6 votes)
19 Dec 2006 1   852  
Use workflows with parameters in asp.net

Sample Image - AspNet_WorkFlow.jpg

Introduction

Simple Web Site ASP.NET using Microsoft Worflow Fundation. Parameters - Web Page - WorfFlow.

Using the code

Definicion Runtime in Global.asax

void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup

        System.Workflow.Runtime.WorkflowRuntime workflowRuntime = new System.Workflow.Runtime.WorkflowRuntime();
        System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService manualService = new System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService();



        workflowRuntime.AddService(manualService);

        workflowRuntime.StartRuntime();

        Application["WorkflowRuntime"] = workflowRuntime;

    }

    void Application_End(object sender, EventArgs e)
    {
        //  Code that runs on application shutdown
        System.Workflow.Runtime.WorkflowRuntime workflowRuntime = Application["WorkflowRuntime"] as System.Workflow.Runtime.WorkflowRuntime;
        workflowRuntime.StopRuntime();
    }

Parameters

//Datos del Global.asax
wr = Application["WorkflowRuntime"] as WorkflowRuntime;
manualScheduler = wr.GetService(typeof(ManualWorkflowSchedulerService)) as ManualWorkflowSchedulerService;

//parametros al workflow
Dictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("Valor", Int32.Parse(this.valor.Text));


//Eventos del WorkFlow
wr.WorkflowCompleted += new EventHandler<WorkflowCompletedEventArgs>(wr_WorkflowCompleted);
wr.WorkflowTerminated += new EventHandler<WorkflowTerminatedEventArgs>(wr_WorkflowTerminated);

Type type = typeof(WorkflowLibrary1.Workflow1);
WorkflowInstance wi = wr.CreateWorkflow(type, parameters);
wi.Start();

//Ejecutar workflow
manualScheduler.RunWorkflow(wi.InstanceId);

WorkFlow

namespace WorkflowLibrary1
{
    public sealed partial class Workflow1: SequentialWorkflowActivity
    {
        public Workflow1()
        {
            InitializeComponent();
        }

      private string m_Resultado="Rechazado";
      private int m_Valor;
      private DateTime m_FechaHora = DateTime.Now;

       public string Resultado
       {
           get { return m_Resultado; }
       }

       public int Valor
       {
           get { return m_Valor; }
           set { m_Valor = value; }
       }

       public DateTime FechaHora
       {
           get { return m_FechaHora; }
       }



        private void ExecuteCodeActivity1(object sender, EventArgs e)
        {
            if (m_Valor > 100)
            {
                m_Resultado = "Aceptado";
            }
        }


    }

}

WorkFlow

Simple use worflow in ASP.net. Using Parameters

History

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here