处理故障在SharePoint工作流
故障处理工作流程,是要考虑的一个重要概念,因为有时你的日常工作流程是根本要求只会放屁了。 碰巧,吮吸,但发生。 它与通用发生。NET开发的,它发生在构建自定义工作流程。 将出现一个错误与您的工作流程,泡起来,就必须妥善处理。 通常,在一个工作流程,如发生异常,你想do一般做两件事情之一,无论是出口的工作流程和清理的持久性,或试图保持持久的工作流程。
由于您的默认与工作流系统基础,多数活动是非常不值钱(我正在negative因为我同他们进行了糟糕的一天),你会写出来了自己的自定义工作流活动,一束这种情况下,这显得尤为重要。 该活动的执行可能会失败,在这种情况下,破例将泡沫已被处理。
因此,如何将一个有关处理这些可怕的错误,因为它们发生在你的工作流代码,更重要的是,在创建自定义活动是将要在一个自定义工作流被窃听?
我通过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,时间跨度。MinValue, 字符串 。 空 , 字符串 。 格式 (“您的工作流程放屁!:(0)”,例外。 消息 ), 字符串 。 空 );
- ; 返回 ActivityExecutionStatus。 封闭 ;
- )
这是非常简单,而不是特别出色,但它正在为我所做的工作,可以节省你一些时间,而您开发自定义工作流程
。
































[...]在SharePoint工作流故障处理[...]
以通告的共享点链接在虚拟的爱2007年6月22日代 - 2007年6月22日@ 上午12点31分
谢谢! 这就是我一直在寻找。
Mogoreanu评论由维塔利- 2007年7月6日@ 上午09时47
谢谢!
PeterB评论由- 2009年3月3日@ 下午9点10分
谢谢!
PeterB评论由- 2009年3月3日@ 下午9点10分
这只是拯救我的头发。 谢谢!!
由评论Omarie案例 - 2010年2月24日@ 下午2点20
很高兴它帮助!

评论由亚当- 2010年2月24日@ 下午3时48分
您好,
有什么办法来处理白表错误只使用社民党。 因为我们有一些限制,使用Visual Studio做自定义编码
Prineeth评论由- 2010年3月4日@ 下午10时09分