Manipulation de flux de travail SharePoint faute dans
Traitement des défauts dans les flux est un concept important à considérer, car parfois une routine que votre flux de travail est intrinsèquement appel sera simplement péter les. Il se trouve, suce, mais qui se passe. Il arrive avec génériques. NET, il arrive lors de la construction de workflows personnalisés. Une erreur se produit avec votre flux de travail, bouillonner, et il doit être manipulé de manière appropriée. Typiquement, dans un flux de travail, comme une exception se produit, vous voulez faire en général effectuez l'une des deux choses, soit quitter le flux de travail et le nettoyage de la persistance, ou de tenter de maintenir la persistance du flux de travail.
Depuis la majorité des activités par défaut que vous sont offerts avec le Workflow Foundation sont assez inutiles (je suis négative depuis que j'ai eu une mauvaise journée avec eux), vous allez finir par écrire un tas de vos propres activités de flux de travail personnalisé, en auquel cas cela devient très important. L'exécution d'activité risque d'échouer, dans ce cas, une exception sera bulle qui doit être traitée.
Alors, comment fait-on pour la manipulation de ces défauts redoutés comme ils se produisent au sein de votre code de workflow, et plus important encore, lors de la création des activités personnalisées qui vont être exploitées dans un flux de travail personnalisé?
Je le fais par le biais de l'interface ISharePointService et en substituant la méthode HandleFault. C'est une bonne façon de traiter les défauts tels qu'ils se présentent au sein de vos activités de flux de travail L'interface ISharePointService est l'une des 4 interfaces de communication locale qui vous sont offertes en tapant. Il ya aussi les trois interfaces de communication, que vous pouvez exploiter, à savoir, IListService, ITaskService et IWorkflowModificationService.
Vous verrez également l'utilisation de ActivityExecutionStatus.Closed. C'est parce que le travail de nettoyage qui est nécessaire avant que l'activité au sein de ce code est pris en charge, et donc je ne peux fermer l'état d'exécution de l'activité. Il est possible d'utiliser aussi bien ActivityExecutionStatus.Faulting est
Lorsque le gestionnaire d'exécution HandleFault est envoyé par le runtime, il est prévu que l'activité va effectuer des travaux de nettoyage qui est nécessaire avant son passage à l'état fermé. Si votre place de travail propre est courte, vous pouvez le faire et le retour ActivityExecutionStatus.Closed. Si elle est longue, puis retour ActivityExecutionStatus.Faulting et attendre les rappels nécessaires avant de finalement creturning fermé.
- ActivityExecutionContext executionContext, Exception exception ) protégées substituer ActivityExecutionStatus HandleFault (executionContext ActivityExecutionContext, exception Exception)
- (
- 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 (de base. WorkflowInstanceId, SPWorkflowHistoryEventType. WorkflowComment, 0, TimeSpan. MinValue, string. Vide, de la ficelle. Format ("Votre flux de production pété!: (0)", exception. Message), de la ficelle. vides);
- ; ActivityExecutionStatus retour. Fermée;
- )
C'est assez simpliste, et pas particulièrement impressionnante, mais il est de faire le travail pour moi et peut vous faire gagner du temps lors du développement de votre flux de travail personnalisé
.
7 Commentaires »
Flux RSS pour les commentaires sur ce post. TrackBack URL
































Traitement des défaillances [...] En flux de travail SharePoint [...]
Pingback par l'amour lien Sharepoint 22/06/2007 à Virtual Génération - Juin 22, 2007 @ 00:31
Merci! C'est ce que je cherchais.
Commentaire de Mogoreanu Vitaly - Juillet 6, 2007 @ 09:47
Merci!
par peterb - Mars Commentaire 3, 2009 @ 9:10 pm
Merci!
par peterb - Mars Commentaire 3, 2009 @ 9:10 pm
Cette juste mettre mes cheveux. MERCI!!
Commentaire de l'affaire Omarie - 24 Février 2010 @ 14:20
heureux qu'il aidé!

Commentaire de adam - Février 24 2010 @ 3:48 pm
Salut,
Est-il possible de gérer erreur dans WF utilisant uniquement SPD. Parce que nous avons certaines restrictions à l'utilisation de Visual Studio pour faire un codage personnalisé
par Prineeth - Mars Commentaire 4, 2010 @ 10:09 pm