故障处理在SharePoint工作流
故障处理工作流程是一个重要的概念,因为有时考虑日常的工作流程是根本要求只会放屁了。 碰巧,吸,但发生。 它与普通发生。NET开发的,它发生在构建自定义的工作流程。 一个错误,将发生在您的工作流程,泡起来,必须妥善处理。 通常,在工作流中,作为一种例外情况,您想要做的,一般做两件事之一,要么退出了工作流程和持久性,或试图保持持久性的工作流程清理。
由于默认的,您与工作流程的基础提供的活动大多数是很值钱(我是消极的,因为我同他们进行了糟糕的一天),你会写出来了自己的自定义流程中的活动,在束这种情况下,这个变得非常重要。 这次活动的执行可能会失败,在这种情况下例外将泡沫已被处理。
因此,要如何去处理这些有关,因为他们在您的工作流代码发生可怕的错误,更重要的是,当创建自定义活动,将要在自定义工作流被窃听?
我通过ISharePointService接口的使用这一点,通过覆盖HandleFault方法。 这是一个很好的方法来处理故障,因为他们在您的工作流程活动发生的ISharePointService接口是一个4个当地的通讯接口,您提供的廉价劳动力。 还有其他三个通信接口,你可以利用,即IListService,ITaskService和IWorkflowModificationService。
你也会看到ActivityExecutionStatus.Closed使用。 这是因为清理工作所需的代码在此之前,活动假设,因此我可以关闭该活动的执行状况。 它可以同时使用ActivityExecutionStatus.Faulting是
当HandleFault执行处理程序是由运行时发出,预计该活动将执行任何清理工作所需之前 , 过渡到封闭的状态。 如果您的清理工作 , 总之,你可以做到这一点并返回ActivityExecutionStatus.Closed。 如果是长期,然后返回ActivityExecutionStatus.Faulting和必要回调 , 最终creturning才休息。
- ActivityExecutionContext executionContext, Exception exception ) 保护覆盖 ActivityExecutionStatus HandleFault(ActivityExecutionContext的ExecutionContext,异常除外)
- (
- 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,的TimeSpan。 最小值 , 字符串 。 空 , 字符串 。 格式 (“您的工作流程Farted!:(0)”,例外。 消息 ), 字符串 。 空 );
- ; 返回 ActivityExecutionStatus。 封闭 ;
- )
这是相当简单,并没有特别令人印象深刻,但它越来越为我所做的工作,可以为您节省一些时间,而您开发自定义的工作流程
。
相关岗位:
- 高架代码在SharePoint工作流
- 郊游共享点工作流程-链接列表视图中工作流...
- 的MSDN博客文章» Blog存档»使用SharePoint工作流...
- Web部件异常/错误处理
- Web部件异常处理标准































[...]故障处理在SharePoint工作流[...]
Pingback的共享点链接喜欢在虚拟世代2007年6月22日 - 2007年6月22日@ 上午12点31分
谢谢! 这就是我一直在寻找。
评论由维塔利Mogoreanu - 2007年7月6日@ 上午09时47
谢谢!
评论由PeterB - 09年3月3日@ 下午9点10分
谢谢!
评论由PeterB - 09年3月3日@ 下午9点10分