Activity.Execute(ActivityExecutionContext) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wywoływane przez środowisko uruchomieniowe przepływu pracy w celu wykonania działania.
protected public:
virtual System::Workflow::ComponentModel::ActivityExecutionStatus Execute(System::Workflow::ComponentModel::ActivityExecutionContext ^ executionContext);
protected internal virtual System.Workflow.ComponentModel.ActivityExecutionStatus Execute (System.Workflow.ComponentModel.ActivityExecutionContext executionContext);
abstract member Execute : System.Workflow.ComponentModel.ActivityExecutionContext -> System.Workflow.ComponentModel.ActivityExecutionStatus
override this.Execute : System.Workflow.ComponentModel.ActivityExecutionContext -> System.Workflow.ComponentModel.ActivityExecutionStatus
Protected Friend Overridable Function Execute (executionContext As ActivityExecutionContext) As ActivityExecutionStatus
Parametry
- executionContext
- ActivityExecutionContext
Element ActivityExecutionContext do skojarzenia z tym Activity elementem i wykonaniem.
Zwraca
Zadanie ActivityExecutionStatus uruchamiania, które określa, czy działanie pozostaje w stanie wykonywania, czy przechodzi do stanu zamkniętego.
Przykłady
Poniższy przykład kodu przedstawia implementację Execute
metody . W tym przykładzie wiadomość e-mail programu Outlook jest konstruowana i wysyłana. Ten przykład pochodzi z przykładowego zestawu SDK Kreatora przepływu pracy programu Outlook. Aby uzyskać więcej informacji, zobacz Przykład kreatora przepływu pracy programu 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;
}
Protected Overrides Function Execute(ByVal executionContext As System.Workflow.ComponentModel.ActivityExecutionContext) As System.Workflow.ComponentModel.ActivityExecutionStatus
' Create an Outlook Application object.
Dim outlookApp As Outlook.Application = New Outlook.Application()
Dim oMailItem As Outlook._MailItem = CType(outlookApp.CreateItem(Outlook.OlItemType.olMailItem), Outlook._MailItem)
oMailItem.MailTo = outlookApp.Session.CurrentUser.Address
oMailItem.Subject = "Auto-Reply"
oMailItem.Body = "Out of Office"
Dim dummy As Activity
If TypeOf Me.Parent.Parent Is ParallelActivity Then
dummy = Me.Parent.Parent.Parent.Activities.Item(1)
If Not (CType(dummy, DummyActivity).Title = "") Then
MessageBox.Show("Process Auto-Reply for Email")
oMailItem.Send()
End If
End If
If TypeOf Me.Parent.Parent Is SequentialWorkflowActivity Then
dummy = Me.Parent.Parent.Activities.Item(1)
If Not (CType(dummy, DummyActivity).Title = "") Then
MessageBox.Show("Process Auto-Reply for Email")
oMailItem.Send()
End If
End If
Return ActivityExecutionStatus.Closed
End Function
Uwagi
Służy ActivityExecutionContext do uzyskiwania informacji o aktualnie uruchomionym działaniu i przepływie pracy, a także służy do uzyskiwania usług ze środowiska uruchomieniowego.
Uruchomienie odbywa się synchronicznie, zwracając kontrolę do elementu wywołującego po zakończeniu działania lub osiągnięciu stanu pośredniego.