Monday, July 5, 2010

Workflow Delay

Delay in Workflow






workflow.cs

using System;

using System.ComponentModel;

using System.ComponentModel.Design;

using System.Collections;

using System.Drawing;

using System.Workflow.ComponentModel.Compiler;

using System.Workflow.ComponentModel.Serialization;

using System.Workflow.ComponentModel;

using System.Workflow.ComponentModel.Design;

using System.Workflow.Runtime;

using System.Workflow.Activities;

using System.Workflow.Activities.Rules;
namespace WorkflowConsoleApplication7

{

public sealed partial class Workflow5: SequentialWorkflowActivity

{

public Workflow5()

{

InitializeComponent();

}
private void codeActivity1_ExecuteCode(object sender, EventArgs e)

{

Console.WriteLine("Start workflow");

}
private void codeActivity2_ExecuteCode(object sender, EventArgs e)

{

Console.WriteLine("Left Side1");

}
private void codeActivity3_ExecuteCode(object sender, EventArgs e)

{ Console.WriteLine("Right side2");

}
private void codeActivity4_ExecuteCode(object sender, EventArgs e)

{

Console.WriteLine("Left side2");

}
private void delayActivity1_InitializeTimeoutDuration(object sender, EventArgs e)

{
}
private void codeActivity7_ExecuteCode(object sender, EventArgs e)

{

Console.WriteLine("Right side1");

}
private void codeActivity6_ExecuteCode(object sender, EventArgs e)

{

Console.WriteLine("Right side3");

}
private void codeActivity5_ExecuteCode(object sender, EventArgs e)

{

Console.WriteLine("End workflow");

Console.ReadLine();

}

}
}

program.cs

using System;

using System.Collections.Generic;

using System.Text;

using System.Threading;

using System.Workflow.Runtime;

using System.Workflow.Runtime.Hosting;
namespace WorkflowConsoleApplication7

{

class Program

{

static void Main(string[] args)

{

using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())

{

AutoResetEvent waitHandle = new AutoResetEvent(false); workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) {waitHandle.Set();}; workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)

{

Console.WriteLine(e.Exception.Message);

waitHandle.Set();

};

WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowConsoleApplication7.Workflow3));

instance.Start();

waitHandle.WaitOne();

}

}

}

}

No comments:

Post a Comment