首页  ·  知识 ·  云计算
简单的ASP.NET中带参数的工作流
ivanx  http://www.msproject.cn/  综合  编辑:dezai  图片来源:网络
"COLOR: green"> Title> "COLOR: green">[翻译]matiaszumbo.著

[翻译]
matiaszumbo.著
ASP.NET WorkFlow with parameters


[代码使用]

在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();
 
 
 
 
 
 
 
 
 
 
 

//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(wr_WorkflowCompleted);
        wr.WorkflowTerminated += new EventHandler(wr_WorkflowTerminated);

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

        //Ejecutar workflow
        manualScheduler.RunWorkflow(wi.InstanceId);
工作流
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";
            }
        }


    }

}
本文作者:ivanx 来源:http://www.msproject.cn/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读