WorkflowInstance.EnqueueItemOnIdle Metode

Definisi

Memposting pesan ke antrean alur kerja yang ditentukan saat alur kerja diam. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) menunggu hingga alur kerja mencapai titik diam dan antrean setelah memverifikasi bahwa penjadwal alur kerja tidak aktif (artinya, tidak ada operasi aktif yang dijalankan).

public:
 void EnqueueItemOnIdle(IComparable ^ queueName, System::Object ^ item, System::Workflow::Runtime::IPendingWork ^ pendingWork, System::Object ^ workItem);
public void EnqueueItemOnIdle(IComparable queueName, object item, System.Workflow.Runtime.IPendingWork pendingWork, object workItem);
member this.EnqueueItemOnIdle : IComparable * obj * System.Workflow.Runtime.IPendingWork * obj -> unit
Public Sub EnqueueItemOnIdle (queueName As IComparable, item As Object, pendingWork As IPendingWork, workItem As Object)

Parameter

queueName
IComparable

Nama dari WorkflowQueue.

item
Object

Objek yang akan diantrekan.

pendingWork
IPendingWork

Yang IPendingWork memungkinkan pengirim diberi tahu saat item dikirimkan.

workItem
Object

Objek yang akan diteruskan ke IPendingWork metode .

Pengecualian

queueName adalah referensi null (Nothing di Visual Basic).

Mesin runtime alur kerja tidak berjalan.

-atau-

Instans alur kerja ditangguhkan.

-atau-

Yang WorkflowQueue ditentukan oleh queueName tidak ada.

-atau-

Yang WorkflowQueue ditentukan oleh queueName tidak diaktifkan.

Keterangan

Menunggu instans alur kerja menjadi menganggur lalu mengirim item ke yang ditentukan WorkflowQueue. Jika Anda memanggil EnqueueItemOnIdle saat instans alur kerja ditangguhkan, mesin runtime alur kerja akan melempar InvalidOperationException. Jika Anda ingin diberi tahu ketika pesan dikirimkan, Anda dapat menerapkan IPendingWork dalam layanan Anda dan meneruskan dan workItemIPendingWork objek ke EnqueueItem. Jika Anda tidak menginginkan pemberitahuan tersebut, Anda dapat meneruskan referensi null (Nothing di Visual Basic) untuk pendingWork dan workItem.

Saat Anda menggunakan metode ini dengan alur kerja mesin status, Anda mungkin mendapatkan pengecualian yang berisi pesan "Antrean '{0}' tidak diaktifkan." Ini terjadi ketika status komputer status saat ini tidak tahu cara menangani peristiwa tertentu. Misalnya, ketika beberapa status selain status saat ini berisi EventDrivenActivity yang berisi HandleExternalEventActivity yang diwakili oleh antrean '{0}'.

Berlaku untuk