استفاده از متغیر در Workflow
استفاده از متغیرها در Workflow
زمانی که Workflow اجرا می شود با استفاده از متغیرها می توان بصورت موقت یک مقدار دلخواه را ذخیره و در Workflow استفاده نمود. در این قسمت از آموزش Workflow، قصد داریم سیستم گردش کاری ایجاد کنیم که 5 عدد را با استفاده از یک حلقه در کنسول چاپ کند. ما از متغییر NumberCounter بعنوان شمارنده اعداد استفاده خواهیم کرد.
مراحل انجام کار
پروژه گردش کار UseVariable شامل چهار مرحله زیر است:
- اضافه کردن یک پروژه از نوع Workflow Console Application
- طراحی گردش کار و تعریف متغیر
- نوشتن کدهای #C
- اجرای Workflow
- پروژه گردش کار UseVariable چگونه کار می کند؟
1 اضافه کردن یک پروژه جدید از نوع Workflow Console Application
در پنل Solution Explorer مطابق شکل زیر روی Solution Chapter01 راست کلیک کرده و از گزینه ADD زیر منوی New Project را انتخاب نمایید:
در پنجره Add New Project گزینه workflow را انتخاب کرده و سپس از سمت راست پنجره گزینه Workflow Console Application را انتخاب نمایید. حالا قسمت Name را با مقدار UseVariable تنظیم نمایید و نهایتاً روی دکمه OK کلیک کنید.
2 طراحی گردش کار و تعریف متغیر
از پنل Solution Explorerr فایل Workflow1.xaml را باز کنید و Workflow را مطابق زیر طراحی نمایید:
- از پنل ToolBox، اکتیویتی Sequence را انتخاب کرده و به داخل صفحه طراحی گردش کار بکشید.
- روی اکتیویتی Sequence کلیک کنید و سپس از پایین صفحه، تب Variables را انتخاب نمایید. حالا یک متغییر از نوع Int32 بنام NumberCounter ایجاد نمایید. توجه کنید که Scope یا محدوده متغیر تعریف شده در محدوده ی اکتیویتی Sequence انتخاب شده است.
- از پنل ToolBox، اکتیویتی Assign را انتخاب کرده و به داخل اکتیویتی Sequence بکشید. در ادامه باکس سمت چپ را با نام متغیر تعریف شده تنظیم نمایید و باکس سمت راست را با عدد 0 مقدار دهی نمایید.
- از پنل ToolBox، اکتیویتی Dowhile را انتخاب کرده و به داخل اکتیویتی Sequence بکشید و و رها کنید در ادامه مطابق شکل زیر قسمت Body را طراحی نمایید.
- قسمت Condition در اکتیویتی Dowhile را مطابق شکل زیر با مقدار NumberCount<=5 تنظیم نمایید.
3 نوشتن کدهای #C
تبریک می گم در این قسمت نیاز به انجام کار خاصی نداریم ..! فقط من کپی رایت بیاموز رو به کدها اضافه کردم:
فایل Program.cs
using System; using System.Linq; using System.Activities; using System.Activities.Statements; namespace UseVariable { /// /// Author : Amir Pahlavan sadegh /// provided to you by : http://www.beyamooz.com /// class Program { static void Main(string[] args) { Activity workflow1 = new Workflow1(); WorkflowInvoker.Invoke(workflow1); Console.WriteLine("provided to you by : http://www.beyamooz.com \npress any key ..."); Console.ReadLine(); } } }
4 اجرای Workflow
پروژه UseVariable را بعنوان پروژه StartUp تنظیم نمایید و در ادامه برای اجرای Workflow دکمه های میانبر Ctrl+F5 را فشار دهید. با این کار Workflow ذخیره شده و بدون عملیات debugging نتیجه نشان داده خواهد شد. همان طور که می بینید، نتیجه در Console ویندوز اجرا می شود و اعدادی که انتظارش را داشتیم چاپ می شود:
پروژه گردش کار UseVariable چگونه کار می کند؟
برای اینکه فهم منطق کاری Workflow آسان شود، بهتر است که آنرا به کدهای #C تبدیل کنید. بنابراین طراحی سیستم گردش کار بالا، چیزی شبیه کد زیر خواهد شد:
فایل Program.cs در صورت استفاده از کدهای #C برای ایجاد Workflow
int NumberCounter = 0; do { Console.WriteLine(NumberCounter); NumberCounter++; } while (NumberCounter <= 5);
توجه: تا اینجا متوجه شدید که بوسیله آرگومان های ورودی و خروجی می توانیم داده های مورد نیاز Workflow را به آن پاس بدهیم یا از آن دریافت کنیم. همچنین با استفاده از متغیرهای تعریف شده در Workflow می توانیم یک مقدار دلخواه را داخل Workflow ذخیره کنیم. هر متغیر، در یک محدوده ای قابل دسترس است این محدوده Scope نامیده می شود. بعنوان مثال اگر متغییری را داخل یک اکتیویتی Sequence تعریف کنیم، تنها در همین اکتویتی قابل دسترس است و در دیگر اکتیویتی ها دیده نمی شود.
{module خرید و دانلود فصل اول آموزش Workflow}
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 7560