处理故障在SharePoint工作流

故障处理工作流程,是要考虑的一个重要概念,因为有时你的日常工作流程是根本要求只会放屁了。 碰巧,吮吸,但发生。 它与通用发生。NET开发的,它发生在构建自定义工作流程。 将出现一个错误与您的工作流程,泡起来,就必须妥善处理。 通常,在一个工作流程,如发生异常,你想do一般做两件事情之一,无论是出口的工作流程和清理的持久性,或试图保持持久的工作流程。

由于您的默认与工作流系统基础,多数活动是非常不值钱(我正在negative因为我同他们进行了糟糕的一天),你会写出来了自己的自定义工作流活动,一束这种情况下,这显得尤为重要。 该活动的执行可能会失败,在这种情况下,破例将泡沫已被处理。

因此,如何将一个有关处理这些可怕的错误,因为它们发生在你的工作流代码,更重要的是,在创建自定义活动是将要在一个自定义工作流被窃听?

我通过ISharePointService接口的使用这一点,通过覆盖HandleFault方法。 这是一个很好的方法来处理故障,因为他们在您的工作流程活动的ISharePointService界面出现是4个当地的沟通,你提供窃听到的接口之一。 还有其他三个通讯接口,你可以利用,即IListService,ITaskService和IWorkflowModificationService。

您还将看到ActivityExecutionStatus.Closed使用。 这是因为清洁行动工作,在此之前的活动所需的代码假设,因此我可以关闭了该活动的执行状态。 它可以同时使用ActivityExecutionStatus.Faulting是

当HandleFault执行处理程序运行时派出的,预计该活动将执行任何清理工作之前,必须过渡到关闭状态。 如果您的清理工作是短暂的,你可以做到这一点并返回ActivityExecutionStatus.Closed。 如果是长,然后返回ActivityExecutionStatus.Faulting,等待回调之前所需的最终creturning休息。

C#中:
  1. ActivityExecutionContext executionContext, Exception exception ) 保障覆盖 ActivityExecutionStatus HandleFault(ActivityExecutionContext executionContext,异常除外
  2. 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)”,例外。 消息 ), 字符串 );
  3. ; 返回 ActivityExecutionStatus。 封闭 ;

这是非常简单,而不是特别出色,但它正在为我所做的工作,可以节省你一些时间,而您开发自定义工作流程 :-)

  • 分享/书签

7评论»

  1. [...]在SharePoint工作流故障处理[...]

    以通告的共享点链接在虚拟的爱2007年6月22日代 - 2007年6月22日@ 上午12点31分

  2. 谢谢! 这就是我一直在寻找。

    Mogoreanu评论由维塔利- 2007年7月6日@ 上午09时47

  3. 谢谢!

    PeterB评论由- 2009年3月3日@ 下午9点10分

  4. 谢谢!

    PeterB评论由- 2009年3月3日@ 下午9点10分

  5. 这只是拯救我的头发。 谢谢!!

    由评论Omarie案例 - 2010年2月24日@ 下午2点20

  6. 很高兴它帮助!
    :)

    评论由亚当- 2010年2月24日@ 下午3时48分

  7. 您好,

    有什么办法来处理白表错误只使用社民党。 因为我们有一些限制,使用Visual Studio做自定义编码

    Prineeth评论由- 2010年3月4日@ 下午10时09分

RSS饲料。评论对这个职位 引用网址

发表评论