آرگومان ورودی در Workflow

چاپ

آرگومان های ورودی یا InArgumentها در Workflow

در این آموزش قصد داریم سیستم گردش فرم ای ایجاد کنیم که هنگام initialize شدن چند آرگومان را بپذیرد. در WF5 با استفاده از InArgument ها می توانیم داده ها را داخل یک اکتیویتی استفاده نماییم.

مراحل انجام کار

 پروژه گردش کار UseInArgument شامل 4 مرحله زیر است:

  1. ایجاد یک پروژه از نوع Workflow Console Application
  2. ایجاد گردش کار و تعریف آرگومانهای ورودی
  3. نوشتن کدهای #C و تنظیم آرگومانها
  4. اجرای Workflow

1 اضافه کردن یک پروژه جدید از نوع Workflow Console Application

در پنل Solution Explorer مطابق شکل زیر روی Solution Chapter01 راست کلیک کرده و از گزینه ADD زیر منوی New Project را انتخاب نمایید:

در پنجره Add New Project گزینه workflow را انتخاب کرده و سپس از سمت راست پنجره گزینه Workflow Console Application را انتخاب نمایید. حالا قسمت Name را با مقدار UseInArgument تنظیم نمایید و نهایتاً روی دکمه OK کلیک کنید.


2 ایجاد گردش کارو تعریف آرگومانهای ورودی

از پنل Solution Explorerr فایل Workflow1.xaml را باز کنید و Workflow را مطابق شکل زیر ایجاد نمایید:

برای تعریف آرگومان از پایین پنجره Workflow1.xaml روی تب Arguments کلیک کنید و شروع به تعریف دو آرگومان با نام های FirstName و SecondName از نوع String و In نمایید.


3 نوشتن کدهای #C و تنظیم آرگومانها

اما در ادامه فایل Program.cs را باز کنید و مطابق زیر کدها را تغییر دهید (قسمت قرمز رنگ):

فایل Program.cs

using System;
using System.Linq;
using System.Activities;
using System.Activities.Statements;

namespace UseInArgument
{

    class Program
    {
        static void Main(string[] args)
        {
            Activity workflow1 = new Workflow1()
            {
                FirstName = "Amir",
                SecondName = "Pahlavn sadegh"
            };                        
            WorkflowInvoker.Invoke(workflow1);
            Console.ReadLine();            
        }
    }
}

4 اجرای Workflow

پروژه UseInArgument را بعنوان پروژه StartUp تنظیم کرده و برای اجرای Workflow دکمه های میانبر Ctrl+F5 را فشار دهید. با این کار Workflow ذخیره شده و بدون عملیات debugging نتیجه نشان داده خواهد شد. همان طور که می بینید، نتیجه در Console ویندوز اجرا می شود و آرگومانهای تنظیم شده نمایش داده می شود:

توجه: در WF3 به بالا این قابلیت اضافه شده است که می توانیم در Workflow های پیچیده یک مقدار از نوع شیء Dictionary را به Workflow پاس دهیم. بنابراین علاوه بر روش قبل، برای تنظیم آرگومانهای FirstName و SecondName می توان بصورت زیر عمل نمود:

فایل Program.cs

using System.Activities;
using System.Activities.Statements;
using System.Collections.Generic;
namespace UseInArgument
{
    class Program
    {
        static void Main(string[] args)
        {
            IDictionary<string, object> inputDictionary =
            new Dictionary<string, object>()
                {
                    {"FirstName","Amir"},
                    {"SecondName","Pahlavan sadegh"}
                };
            WorkflowInvoker.Invoke(new Workflow1(),inputDictionary);
        }
    }
}

{module خرید و دانلود فصل اول آموزش Workflow}