Activity.Execute(ActivityExecutionContext) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Dipanggil oleh runtime alur kerja untuk menjalankan aktivitas.
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
Parameter
- executionContext
- ActivityExecutionContext
ActivityExecutionContext untuk mengaitkan dengan ini Activity dan eksekusi.
Mengembalikan
Tugas ActivityExecutionStatus eksekusi, yang menentukan apakah aktivitas tetap dalam status mengeksekusi, atau transisi ke status tertutup.
Contoh
Contoh kode berikut menunjukkan implementasi Execute
metode . Dalam contoh ini, pesan email Outlook dibuat dan dikirim. Contoh ini berasal dari sampel SDK Panduan Alur Kerja Outlook. Untuk informasi selengkapnya, lihat Sampel Panduan Alur Kerja 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
Keterangan
ActivityExecutionContext digunakan untuk mendapatkan informasi tentang aktivitas dan alur kerja yang sedang berjalan, dan juga digunakan untuk mendapatkan layanan dari lingkungan runtime.
Eksekusi terjadi secara sinkron, mengembalikan kontrol ke pemanggil saat aktivitas selesai atau mencapai status menengah.