Activity.Execute(ActivityExecutionContext) Метод

Определение

Вызывается средой выполнения рабочих процессов для выполнения действия.

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

Параметры

executionContext
ActivityExecutionContext

Объект ActivityExecutionContext, который необходимо связать с данным объектом Activity и выполнением.

Возвращаемое значение

Состояние ActivityExecutionStatus запущенной задачи, определяющее, продолжает ли действие быть в состоянии выполнения, или переходит в закрытое состояние.

Примеры

В следующем примере кода показана реализация метода Execute. В этом примере создается и отправляется сообщение электронной почты Outlook. Данный пример является частью образца пакета SDK «Outlook Workflow Wizard». Дополнительные сведения см. в разделе Пример мастера рабочих процессов Outlook.

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