DCSIMG
מחשבות על Workflow Controller - I Love C#
Sign in | Join | Help

I Love C#

Eyal Vardi

מחשבות על Workflow Controller

פורסם בתאריך May 23 2011, 07:29 PM על ידי Vardi | ישנם 1 תגובות

הרבה זמן אני חושב איך הכי נכון לבנות 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.

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

רשימת תגובות

# re: מחשבות על Workflow Controller

פורסם בתאריך Tuesday, May 24, 2011 9:37 AM על ידי Rotem Bloom  

אני הייתי מצרף קוד דוגמא להורדה כדי שזה יהיה קצת יותר ברור.

לא ממש הבנתי לאיזה צרכים את חושב שזה שימושי בדיוק.

מה זאת אומרת תהליך שלוקח הרבה זמן? TRACING אמור לקחות הרבה זמן?

לא ממש ברור מה כוונת המשורר.

שלח תגובה

(שדה חובה) 
(שדה חובה) 
(אופציונלי)
(שדה חובה) 

Enter the numbers above: