WorkflowEventArgs Kelas
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.
Perhatian
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Menyediakan data untuk peristiwa alur kerja.
public ref class WorkflowEventArgs : EventArgs
public class WorkflowEventArgs : EventArgs
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public class WorkflowEventArgs : EventArgs
type WorkflowEventArgs = class
inherit EventArgs
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type WorkflowEventArgs = class
inherit EventArgs
Public Class WorkflowEventArgs
Inherits EventArgs
- Warisan
- Turunan
- Atribut
Contoh
Contoh kode berikut menunjukkan cara mendapatkan WorkflowInstance objek menggunakan WorkflowInstance properti saat metode penanganan aktivitas dipanggil.
WorkflowIdled Ketika peristiwa terjadi, metode yang OnWorkflowIdled
ditentukan dalam contoh ini dipanggil. Ini menentukan alur kerja mana yang diam menggunakan WorkflowInstance properti dan kemudian mendapatkan kumpulan item antrean untuk instans alur kerja dengan memanggil GetWorkflowQueueData metode . Kode berulang di atas koleksi untuk menentukan aktivitas mana yang menunggu peristiwa yang menganggur alur kerja. Kemudian mengirimkan pengecualian ke antrean alur kerja menggunakan EnqueueItem metode bersama dengan nama item antrean peristiwa.
Contoh kode ini adalah bagian dari Membatalkan Sampel SDK Alur Kerja dari file Program.cs. Untuk informasi selengkapnya, lihat Membatalkan Alur Kerja.
static void OnWorkflowIdled(object sender, WorkflowEventArgs e)
{
WorkflowInstance workflow = e.WorkflowInstance;
Console.WriteLine("\n...waiting for 3 seconds... \n");
Thread.Sleep(3000);
// what activity is blocking the workflow
ReadOnlyCollection<WorkflowQueueInfo> wqi = workflow.GetWorkflowQueueData();
foreach (WorkflowQueueInfo q in wqi)
{
EventQueueName eq = q.QueueName as EventQueueName;
if (eq != null)
{
// get activity that is waiting for event
ReadOnlyCollection<string> blockedActivity = q.SubscribedActivityNames;
Console.WriteLine("Host: Workflow is blocked on " + blockedActivity[0]);
// this event is never going to arrive eg. employee left the company
// lets send an exception to this queue
// it will either be handled by exception handler that was modeled in workflow
// or the runtime will unwind running compensation handlers and exit the workflow
Console.WriteLine("Host: This event is not going to arrive");
Console.WriteLine("Host: Cancel workflow with unhandled exception");
workflow.EnqueueItem(q.QueueName, new Exception("ExitWorkflowException"), null, null);
}
}
}
Shared Sub OnWorkflowIdled(ByVal sender As Object, ByVal e As WorkflowEventArgs)
Dim workflow As WorkflowInstance = e.WorkflowInstance
Console.WriteLine(vbCrLf + "...waiting for 3 seconds... " + vbCrLf)
Thread.Sleep(3000)
' what activity is blocking the workflow
Dim wqi As ReadOnlyCollection(Of WorkflowQueueInfo) = workflow.GetWorkflowQueueData()
For Each q As WorkflowQueueInfo In wqi
Dim eq As EventQueueName = TryCast(q.QueueName, EventQueueName)
If eq IsNot Nothing Then
' get activity that is waiting for event
Dim blockedActivity As ReadOnlyCollection(Of String) = q.SubscribedActivityNames
Console.WriteLine("Host: Workflow is blocked on " + blockedActivity(0))
' this event is never going to arrive eg. employee left the company
' lets send an exception to this queue
' it will either be handled by exception handler that was modeled in workflow
' or the runtime will unwind running compensation handlers and exit the workflow
Console.WriteLine("Host: This event is not going to arrive")
Console.WriteLine("Host: Cancel workflow with unhandled exception")
workflow.EnqueueItem(q.QueueName, New Exception("ExitWorkflowException"), Nothing, Nothing)
End If
Next
End Sub
Keterangan
Catatan
Materi ini membahas jenis dan namespace layanan yang sudah tidak digunakan. Untuk informasi selengkapnya, lihat Jenis yang Tidak Digunakan Lagi di Windows Workflow Foundation 4.5.
Peristiwa alur kerja dikaitkan dengan instans alur kerja. WorkflowEventArgs berisi yang WorkflowInstance terkait dengan peristiwa alur kerja. Atau WorkflowEventArgs objek yang berasal dari WorkflowEventArgs kelas menyediakan data untuk semua peristiwa alur kerja di WorkflowRuntime kelas . WorkflowEventArgs adalah kelas dasar untuk WorkflowCompletedEventArgs, WorkflowSuspendedEventArgs, dan WorkflowTerminatedEventArgs.
Properti
WorkflowInstance |
Kedaluwarsa.
Mendapatkan instans alur kerja yang terkait dengan peristiwa alur kerja. |
Metode
Equals(Object) |
Kedaluwarsa.
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Kedaluwarsa.
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Kedaluwarsa.
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Kedaluwarsa.
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
ToString() |
Kedaluwarsa.
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |