Activity.Execute(ActivityExecutionContext) 方法

定義

由工作流程執行階段呼叫以執行活動。

C#
protected internal virtual System.Workflow.ComponentModel.ActivityExecutionStatus Execute(System.Workflow.ComponentModel.ActivityExecutionContext executionContext);

參數

executionContext
ActivityExecutionContext

ActivityExecutionContext,與這個 Activity 和執行相關聯。

傳回

執行工作的 ActivityExecutionStatus,可判斷活動停留在執行狀態,或轉換為已關閉狀態。

範例

下列程式碼範例示範 Execute 方法的實作。 在此範例中,會建構並傳送 Outlook 電子郵件訊息。 這個範例來自 Outlook Workflow Wizard SDK 範例。 如需詳細資訊,請參閱 Outlook 工作流程精靈範例

C#
protected override ActivityExecutionStatus Execute(ActivityExecutionContext context)
{
    // Create an Outlook Application object.
    Outlook.Application outlookApp = new Outlook.Application();

    Outlook._MailItem oMailItem = (Outlook._MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
    oMailItem.To = outlookApp.Session.CurrentUser.Address;
    oMailItem.Subject = "Auto-Reply";
    oMailItem.Body = "Out of Office";

    //adds it to the outbox
    if (this.Parent.Parent is ParallelActivity)
    {
        if ((this.Parent.Parent.Parent.Activities[1] as DummyActivity).TitleProperty != "")
        {
            MessageBox.Show("Process Auto-Reply for Email");
            oMailItem.Send();
        }
    }
    else if (this.Parent.Parent is SequentialWorkflowActivity)
    {
        if ((this.Parent.Parent.Activities[1] as DummyActivity).TitleProperty != "")
        {
            MessageBox.Show("Process Auto-Reply for Email");
            oMailItem.Send();
        }
    }
    return ActivityExecutionStatus.Closed;
}

備註

ActivityExecutionContext 用於取得目前執行活動和工作階段的相關資訊,也用於從執行階段環境取得服務。

執行會同步發生,當活動完成或達到中繼狀態時會將控制項傳回至呼叫者。

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1