2010-08-20 119 views

回答

1

您可以使用「While」活動作爲重試的手段 - 應該有例外。

alt text

與此示例的詳細信息整篇文章是here

+0

這篇文章是關於WF3的,而不是WF4,它是一個完全不同的產品。不過,相同的基本原則適用,但不是技術細節。 – Maurice 2010-08-21 08:55:26

+0

同意。然而,模式是相當普遍的,所以使用的活動,所以我認爲它可能是有用的 – InSane 2010-08-21 09:00:00

0

我創造了article與WF4的類似的方式自定義活動,它是這樣的:

public sealed class Retry : NativeActivity { 

    public Activity Body { get; set; } 

    protected override void Execute(NativeActivityContext context) { 
     context.ScheduleActivity(Body, OnBodyCompleted, OnBodyFaulted); 
    } 

    void OnBodyCompleted(NativeActivityContext context, ActivityInstance instance) { 

    } 

    void OnBodyFaulted(NativeActivityFaultContext faultContext, Exception propagatedException, ActivityInstance propagatedFrom) { 
     faultContext.ScheduleActivity(Body, OnBodyCompleted, OnBodyFaulted); 
    } 
} 

謝謝!