WorkflowInstance.EnqueueItem 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.
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.)