WorkflowInstance.EnqueueItem Metode

Definisi

Memposting pesan ke antrean alur kerja yang ditentukan secara sinkron.

public:
 void EnqueueItem(IComparable ^ queueName, System::Object ^ item, System::Workflow::Runtime::IPendingWork ^ pendingWork, System::Object ^ workItem);
public void EnqueueItem(IComparable queueName, object item, System.Workflow.Runtime.IPendingWork pendingWork, object workItem);
member this.EnqueueItem : IComparable * obj * System.Workflow.Runtime.IPendingWork * obj -> unit
Public Sub EnqueueItem (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-

Yang WorkflowQueue ditentukan oleh queueName tidak ada.

-atau-

Yang WorkflowQueue ditentukan oleh queueName tidak diaktifkan.

Keterangan

item Mengirim ke yang ditentukan WorkflowQueue. 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 menggunakan metode ini dengan alur kerja komputer status, Anda mungkin mendapatkan pengecualian dengan 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}'.

Note

Pesan tidak dijamin diterima oleh instans alur kerja dalam urutan pengirimannya. Misalnya, jika menerima pesan dalam antrean yang ada (Antrean A) menyebabkan alur kerja membuat antrean lain (Antrean B), yang kemudian mendengarkan pesan lain yang dikirim setelah pesan pertama, ada kemungkinan pesan kedua akan tiba terlebih dahulu, dan tidak akan diterima karena antreannya belum dibuat. Untuk mencegah masalah ini, pesan kedua tidak boleh dikirim hingga adanya antrean kedua diverifikasi (menggunakan GetWorkflowQueueData.)

Berlaku untuk