RSS

מחשבות על Workflow Controller

23 מאי

הרבה זמן אני חושב איך הכי נכון לבנות Workflow Controller, עד שנפל לי האסימון. ברצוני לשתף אתכם ברעיון ולשמוע מה אתם חושבים.

הצורך ב- Page Navigation לא חדש ויש מספר דרכים לממש את זה. הבעיה שכל המימושים שנתקלתי בהם לא היו פשוטים ואפילו די מורכבים.

הפתרון:

לבנות WorkflowController שיש לו אקטיביטי מסוג Action ואקטיביטי מסוג ActionResult.

1. יוצרים את ה- WorkflowControllerבתקיה של ה-Controller.

image

כדי להגיע על ה-WorkflowController נעבוד עם ה- Routed URL.

image

2. ה- WF צריך להתחיל עם אקטיביתי של Action. ובאקטיביטי זה צריך להגדיר את ה-{Action} ( את URL ) שיתחיל את WF. זה דומא מאוד ל- ReceiveRequestרק במקום SOAP זה עובד על REST Http. אפשר גם להגדיר עם איזה IModelBinder רוצים לעבוד כדי למפות יותר טוב את בקשת ה-Http לטיפוסים מסוג דוט-נט. ה-Args זה ה-Input שמקבלים מבקשת ה-Http ושומרים אותו כמשתנה של ה-WF.

image

3. כאשר רוצים להחזיר תשובה, בדרך כלל View משתמשים באקטיביטי ActionResult ומצינים את שם ה-View. הנתונים שרוצים לעביר ל-View ואת סוג ה-View.

image

4. ע"פ דעתי צריך גם לבנות WorkFlow Helper@ שיכול לשלוף נתונים ולהציג אותם ב- View, כמו למשל כל התהליכים הפתוחים מוסג מסויים וכו'.

דוגמא:

ברצוני לבנות דוגמא של בקשת חופשה.

סיכום:

1. בדרך זו בנית ה-WF מאוד פשוטה וקל גם לבדוק אותו ע"י URL במקום SOAP.

2. ה-View לא צריך להיות מודע לזה שהוא עובד עם WF Controller ולא עם Controller רגיל.

3. ה-WF נכון לשימוש כאשר רוצים לתכנן תהליך שלוקח הרבה זמן. אנחנו גם נהנים מכל התשתיות שיש ל-WF, כמו למשל Tracing.

מה אתם חושבים?

Advertisements
 
השארת תגובה

פורסם ע"י ב- מאי 23, 2011 ב- Uncategorized

 

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s

 
%d בלוגרים אהבו את זה: