Manejo de error de flujos de trabajo de SharePoint en
El tratamiento de fallos en los flujos de trabajo es un concepto importante a considerar, porque a veces una rutina que su flujo de trabajo es de por sí solo va a llamar a pedo. Simplemente sucede, apesta, pero sucede. Esto sucede con los genéricos. NET, lo que sucede en la construcción de flujos de trabajo personalizados. Se producirá un error con su flujo de trabajo, de burbujas, y que éste debe ser manejada con cuidado. Por lo general, dentro de un flujo de trabajo, como se produce una excepción, que quiere hacer por lo general hacer una de dos cosas, ya sea salir del flujo de trabajo y limpieza de la persistencia, o intento de mantener la persistencia del flujo de trabajo.
Dado que la mayoría de las actividades por defecto que se le ofrecen con la fundación de flujo de trabajo son bastante inútiles (estoy siendo negativo desde que tuve un mal día con ellos), se le va a terminar de escribir un montón de sus propias actividades de flujo de trabajo, en cuyo caso se vuelve muy importante. La ejecución de la actividad podría producir un error, en cuyo caso una excepción burbuja que hay que manejar.
Entonces, ¿cómo hace uno para el manejo de estos fallos temida medida que se producen dentro de su código de flujo de trabajo, y lo más importante, al crear actividades personalizadas que van a ser aprovechado dentro de un flujo de trabajo personalizado?
Lo hago a través del uso de la interfaz ISharePointService y reemplazando el método HandleFault. Esta es una buena manera de manejar los fallos que se producen dentro de una actividad de flujo de trabajo La interfaz ISharePointService es una de las 4 interfaces de comunicación local que se concedan aprovechar. También están los otros tres interfaces de comunicación que se pueden explotar, a saber, IListService, ITaskService y IWorkflowModificationService.
También verá el uso de ActivityExecutionStatus.Closed. Esto se debe a la labor de limpieza que se requiere antes de la actividad dentro de este código se supone, y por eso puede cerrar el estado de ejecución de la actividad. Es posible utilizar, así es ActivityExecutionStatus.Faulting
Cuando el controlador de la ejecución HandleFault es enviada por el tiempo de ejecución, se espera que la actividad será realizar cualquier trabajo de limpieza que se requiere antes de su transición al estado cerrado. Si su trabajo de limpieza es corto, puede hacer eso y volver ActivityExecutionStatus.Closed. Si es largo, y luego volver ActivityExecutionStatus.Faulting y esperar a que las devoluciones de llamada en última instancia, requiere antes de creturning cerrado.
- ActivityExecutionContext executionContext, Exception exception ) protegidas reemplazar ActivityExecutionStatus HandleFault (ExecutionContext ActivityExecutionContext, salvo excepciones)
- (
- 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 (base. WorkflowInstanceId, SPWorkflowHistoryEventType. WorkflowComment, 0, TimeSpan. MinValue, cadena. vacíos, de cadena. Format ("Su flujo de trabajo se tiró un pedo!: (0)", excepción. Mensaje), de cadena. Empty);
- ; ActivityExecutionStatus regreso. Cerrado;
- )
Esto es bastante simplista, y no es impresionante con carácter excepcional, sin embargo, es conseguir el trabajo hecho por mí y le puede ahorrar algo de tiempo mientras está en desarrollo los flujos de trabajo personalizados
.
7 Comentarios »
RSS feed para los comentarios de esta entrada. TrackBack URL
































[...] Error de manipulación en flujos de trabajo de SharePoint [...]
Pingback por vínculo de amor en Sharepoint 22/06/2007 Virtual Generaciones - 22 de junio de 2007 @ 12:31a.m.
Gracias! Eso es lo que estaba buscando.
Comentario por Mogoreanu Vitaly - 06 de julio 2007 @ 09:47 am
Gracias!
Comentario por peterb - 03 de marzo 2009 @ 21:10
Gracias!
Comentario por peterb - 03 de marzo 2009 @ 21:10
Esto acaba de salvar mi pelo. GRACIAS!!
Comentario de la sentencia Omarie - 24 de febrero 2010 @ 14:20
contento de que haya ayudado!

Comentario por adam - 24 de febrero 2010 @ 15:48
¡Hola!
¿Hay alguna forma de manejar error en WF sólo con SPD. Debido a que tenemos algunas restricciones de uso de Visual Studio para hacer de encargo de codificación
Comentario por Prineeth - 04 de marzo 2010 @ 22:09