תקלת טיפול ב-SharePoint זרימות עבודה
טיפול תקלות ב זרימות עבודה הוא מושג חשוב לקחת בחשבון כי לפעמים שגרה זרימת העבודה שלך הוא מטבעו קורא פשוט נאד החוצה. זה פשוט קורה, מבאס, אבל קורה. זה קורה עם הגנרית. פיתוח NET, זה קורה כאשר זרימות עבודה מותאמות אישית הבניין. שגיאה תתרחש זרימת העבודה שלך, מבעבעים, וזה חייב להיות מטופלים כראוי. בדרך כלל, בתוך זרימת עבודה, כחריג מתרחשת, אתה רוצה לעשות בדרך כלל לעשות אחד משני דברים, או לצאת את זרימת העבודה ואת ניקוי התמדה, או ניסיון לשמור על ההתמדה של זרימת העבודה.
שכן רוב של הפעילויות ברירת המחדל שאתה הציע עם יסוד זרימת העבודה הם די חסרי ערך (אני להיות שלילי מאז היה לי יום רע איתם), אתם הולכים בסופו של דבר בכתב חבורה של פעילויות מותאמות אישית משלך Workflow, ב במקרה זה הופך להיות חשוב מאוד. ביצוע פעילות עלול להיכשל, ובמקרה חריג יהיה בועה שבה יש להתנהל.
אז איך ללכת על טיפול הפגמים הנוראיים האלה כפי שהם מתרחשים בתוך הקוד זרימת העבודה שלך, וחשוב יותר, בעת יצירת פעילות מותאמים אישית יהיה בתוך טפח זרימת עבודה מותאמים אישית?
אני עושה זאת באמצעות שימוש בממשק ISharePointService ועל ידי מבטל את שיטת HandleFault. זוהי דרך טובה להתמודד עם החסרונות כפי שהם מתרחשים בתוך פעילויות זרימת העבודה שלך ממשק ISharePointService הוא אחד של תקשורת מקומית 4 ממשקי שאתה מקיש לתוך הקנה. יש גם התקשורת שלושה ממשקים אחרים שניתן לנצל, כלומר, IListService, ITaskService, ו IWorkflowModificationService.
כמו כן תראה את השימוש ActivityExecutionStatus.Closed. זאת משום ניקוי עבודה נדרש לפני פעילות בתוך הקוד הזה ההנחה היא, ולכן אני יכול לסגור את מעמדה של ביצוע הפעילות. אפשר גם להשתמש ActivityExecutionStatus.Faulting הוא
כאשר המטפל HandleFault ביצוע נשלח על ידי ריצה, זה צפוי כי פעילות יבצע כל עבודה הניקוי הנדרש לפני המעבר שלו למצב סגור. אם לנקות את העבודה שלך הוא קצר, אפשר לעשות את זה ולחזור ActivityExecutionStatus.Closed. אם היא ארוכה, ולאחר מכן לחזור ActivityExecutionStatus.Faulting ולחכות callbacks נדרש לפני creturning בסופו של דבר נסגר.
- ActivityExecutionContext executionContext, Exception exception ) מוגן לעקוף ActivityExecutionStatus HandleFault (executionContext ActivityExecutionContext, למעט חריגה)
- (
- executionContext. GetService ( typeof ( ISharePointService ) ) ) . LogToHistoryList ( base . WorkflowInstanceId , SPWorkflowHistoryEventType. WorkflowComment , 0 , TimeSpan. MinValue , string . Empty , string . Format ( "Your WorkFlow Farted!: {0}" , exception. Message ) , string . Empty ) ; ((ISharePointService) executionContext. GetService (typeof (ISharePointService))). LogToHistoryList (בסיס. WorkflowInstanceId, SPWorkflowHistoryEventType. WorkflowComment, 0, טווח הזמן. MinValue, מחרוזת. ריקים, מחרוזת. עיצוב ( "Workflow הפליץ!: (0)" שלך, יוצא מן הכלל. הודעה), מחרוזת. ריקים);
-
; ActivityExecutionStatus לחזור. סגורה;
- )
זה די פשטני, ולא מרשים במיוחד, אולם הוא מקבל את העבודה בשבילי עשוי לחסוך לך זמן בעת פיתוח זרימות עבודה מותאמות אישית שלך
.
הודעות קשורות:
- מוגבה קוד ב-SharePoint זרימות עבודה
- טיול זרימות עבודה של SharePoint - קישור זרימות עבודה בתצוגות רשימת ...
- MSDN Blog Postings »ארכיון הבלוג» שימוש זרימות עבודה של SharePoint ...
- WebPart חריגה / טיפול בשגיאות
- WebPart Exception Handling תקנים
4 תגובות »
RSS Feed להערות על זה לכתוב. TrackBack-URL































זרימות עבודה [...] תקלת טיפול ב-SharePoint [...]
Pingback על ידי אהבה Sharepoint הקישור 06-22-2007 דורות וירטואלית ב - 22 ביוני, 2007 @ 12:31
תודה! זה מה שאני מחפש.
תגובה על ידי ויטלי Mogoreanu - 6 ביולי, 2007 @ 9:47
תודה!
תגובה על ידי PeterB - 3 במרץ, 2009 @ 9:10
תודה!
תגובה על ידי PeterB - 3 במרץ, 2009 @ 9:10