2012-01-02 65 views
0

調試生產代碼時 - 我觀察到我的工作流構造函數被多次觸發。我不想責怪世界自然基金會,因爲哲學 - '在指責別人之前檢查你的代碼'。我創建了一個示例應用程序來測試該方面,並發現兩個worklow實例正在創建。理想情況下,應該只創建一個實例。好奇地理解 - 爲什麼WWF運行時正在創建兩個實例?爲什麼Windows工作流運行時正在創建工作流的兩個實例?

代碼:

public partial class TestWorkflow : SequentialWorkflowActivity 
{ 
    public TestWorkflow() 
    { 
     InitializeComponent(); 
     countOfInstances++; 
    } 

    protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) 
    { 
     Console.WriteLine("Instances Created = {0}", countOfInstances); 
     return base.Execute(executionContext); 
    } 

    private static int countOfInstances = 0; 
} 

感謝。

回答

1

WF3在許多情況下克隆活動做工作。可能這就是爲什麼會發生這種情況。 WF4並不是WF4的許多改進和性能優化之一。

+0

很高興看到我很佩服的人的迴應。我是你的channel9節目的粉絲。我將不勝感激如果你可以從我看一個WWF查詢:http://stackoverflow.com/questions/8698501/weird-issue-with-window-workflow-foundation-activity-binding-does-not-seem-to – 2012-01-05 08:28:03